我是新來的asp.net mvc。我已經爲其他兩個字段定製了mvc標識。現在,我會讓用戶更新電子郵件,電話號碼等用戶信息。當我點擊編輯時,我的文本框中沒有任何內容。文本框字段的HTMLEdit爲空。爲更新的東西,我不得不添加電子郵件,然後如果我點擊提交按鈕,值得到數據庫中的更改。不顯示MVC的編輯文本框中的數據
這裏的問題是,當我點擊編輯按鈕時,在用其他電子郵件ID進行任何更改之前,不會顯示數據庫中的用戶數據。
這裏是我的代碼
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> UpdateUser(ProfileViewModels model)
{
if (!ModelState.IsValid)
{
return View(model);
}
//get current user and update
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
if (user == null)
{
// Don't reveal that the user does not exist
return RedirectToAction("Login", "Account");
}
user.Email = model.Email;
user.UserName = model.Email;
//user.LastName = model.LastName;
var updateResult = await UserManager.UpdateAsync(user);
if (updateResult.Succeeded)
{
return RedirectToAction("Index", "Home");
}
AddErrors(updateResult);
// If we got this far, something failed, redisplay form
return View(model);
}
CHTML代碼:
@using (Html.BeginForm("UpdateUser", "Manage", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>ProfileViewModels</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
幫助,將不勝感激。
你需要顯示GET方法 - 你如何填充和模型傳遞給視圖 –