我需要幫助。
我想更新編輯頁面中的影像,但只是在必要時。
問題是每當我進行編輯時,我都必須再次上傳影像。
如果我不想更新舊影像,我想保留它。希望大家理解我。
這是視圖:
<div class="form-group">
@Html.LabelFor(model => model.PersonalImage, htmlAttributes: new { @class = "control-label " })
<div class="col-md-10">
<img src="~/Content/Uploads/Adherentes/Personalimages/@Html.DisplayFor(model => model.PersonalImage)" width="80" height="80" id="uploadperso" class="img-thumbnail" style="width: 160px; height: 160px; cursor: pointer"/>
<input onchange="showPhoto(this);" type="file" accept="Image/*" id="PersonalImage" name="PersonalImage" class="form-control" />
@Html.ValidationMessageFor(model => model.PersonalImage, "", new { @class = "text-danger" })
</div>
</div>
這是更新控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(HttpPostedFileBase PersonalImage, adherent adherent)
{
if (ModelState.IsValid)
{
string _ImageName = Path.GetFileName(PersonalImage.FileName);
string _Path = Path.Combine(Server.MapPath("~/Content/Uploads/Adherentes/Personalimages"), _ImageName);
PersonalImage.SaveAs(_Path);
adherent.PersonalImage = _ImageName;
_db.Entry(adherent).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(adherent);
}
uj5u.com熱心網友回復:
假設您的資料庫和控制器不需要影像。您可以調整控制器方法以搜索在寫入之前提供的影像。
if (ModelState.IsValid)
{
if(PersonalImage != null){
string _ImageName = Path.GetFileName(PersonalImage.FileName);
string _Path = Path.Combine(Server.MapPath("~/Content/Uploads/Adherentes/Personalimages"), _ImageName);
PersonalImage.SaveAs(_Path);
adherent.PersonalImage = _ImageName;
_db.Entry(adherent).State = EntityState.Modified;
_db.SaveChanges();
}
return RedirectToAction("Index");
}
uj5u.com熱心網友回復:
您好,我找到了解決方案。
if (ModelState.IsValid)
{
var data = _db.adherents.AsNoTracking().Where(x => x.Id == adherent.Id).FirstOrDefault();
string PersonalImagePath = data.PersonalImage;
data = null;
if (PersonalImage != null && PersonalImage.ContentLength > 0 )
{
string _ImageName = Path.GetFileName(PersonalImage.FileName);
string _Path = Path.Combine(Server.MapPath("~/Content/Uploads/Adherentes/Personalimages"), _ImageName);
PersonalImage.SaveAs(_Path);
adherent.PersonalImage = _ImageName;
}
else
{
adherent.PersonalImage = PersonalImagePath;
}
_db.Entry(adherent).State = EntityState.Modified;
_db.SaveChanges();
感謝所有參與此活動的人謝謝@Ramp2010
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/503896.html
標籤:网 asp.net-mvc asp.net-mvc-4 模型视图控制器
上一篇:JavaScript 邏輯且(&&)和邏輯或(||)的妙用
下一篇:在.NETv4.6.1上的ASP.NETMVC4中,我有什么選擇而不是GetAwaiter.GetResult()?
