I get error when i click on edit button it show error in img src(null reference)
This is EDit functionality of Member Controller
public async Task<IActionResult> Edit(int memberId)
{
var memeber = await _context.Member.FindAsync(memberId); // Getting member by Id from database
return View(new MemberViewModel() { Member = memeber });
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(MemberViewModel model, IFormFile photo/*int id, [Bind("MemberId,Name,Gender,DOB,MaritalStatus,Address,PhoneNo,Skills,Hobbies,JobTitle,Technology")] Member member*/)
{
if (photo == null || photo.Length == 0)
{
return Content("File not selected");
}
var path = Path.Combine(_webHostEnviroment.WebRootPath, "ImageName/Cover", photo.FileName);
using (FileStream stream = new FileStream(path, FileMode.Create))
{
await photo.CopyToAsync(stream);
stream.Close();
}
model.Member.ImageName = photo.FileName;
//Finding the member by its Id which we would update
var objMember = _context.Member.Where(mId => mId.MemberId == model.Member.MemberId).FirstOrDefault();
if (objMember != null)
{
//Update the existing member with new value
objMember!.Name = model.Member.Name;
objMember!.Gender = model.Member.Gender;
objMember!.DOB = model.Member.DOB;
objMember!.MaritalStatus = model.Member.MaritalStatus;
objMember!.Address = model.Member.Address;
objMember!.PhoneNo = model.Member.PhoneNo;
objMember!.Skills = model.Member.Skills;
objMember!.Hobbies = model.Member.Hobbies;
objMember!.JobTitle = model.Member.JobTitle;
objMember!.Technology = model.Member.Technology;
objMember!.ImageName = model.Member.ImageName;
objMember!.ImageLocation = path;
await _context.SaveChangesAsync();
}
return RedirectToAction("Index");
}
And this is a View Where I get Error
@model TeamManagement.ViewModel.MemberViewModel
<form asp-action="Edit" method="post" enctype="multipart/form-data">
<div class="row">
<div class="form-group col-md-4">
<label class="col-md-2 control-label">MemberPicture</label>
<div class="col-md-10">
<img src="~/ImageName/Cover/@Model.Member.ImageName"
class="rounded-square"
height="50" width="75"
style="border:1px"
asp-append-version="true" accept="image/*" />
<span><a href="@Model.Member.ImageName">@Model.Member.ImageName</a></span>
<div id="chooseFile">
<input class="form-control" type="file" name="photo" accept="image/*" />
</div>
</div>
</div>
</div>
This is my ViewModel name as MemberVieModel
using System;
using TeamManagement.Models;
namespace TeamManagement.ViewModel
{
public class MemberViewModel
{
public Member Member { get; set; }
public IFormFile? Photo { get; set; }
}
}
View Model ScreenShot
So that is I tried your Code that will running when i implement on my code they give that error