如果这个问题不清楚或者我没有提供足够的信息,我很抱歉,我是CSHTML的新手,并且不知道我是否遗漏了一些非常明显的东西。
我目前在我的视图中有一个EditorFor(),用于更改数据库中特定userCard字段的密码。当更改此密码时,我希望文本框为空,但每次显示旧值。在编辑之前删除值不是一个选项,因为我的页面有太多选项供用户转到其他页面并让帐户无密码。有什么帮助吗?
违规的EditorFor如下:
<div class="form-group">
<div class="col-md-10">
<h5>Enter a New Passcode</h5>
</div>
<div class="col-md-10">
@Html.EditorFor(model => model.userCard.password, new { htmlAttributes = new { @class = "form-control"} })
@Html.ValidationMessageFor(model => model.userCard.password, "", new { @class = "text-danger" })
</div>
</div>
此视图的控制器方法如下:
public ActionResult EditPasscode(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
UserCardOBJ userCardOBJ = new UserCardOBJ();
userCardOBJ.userCard = db.UserCards.Find(id);
if (userCardOBJ.userCard == null)
{
return HttpNotFound();
}
return View(userCardOBJ);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult EditPasscode([Bind(Include = "ID,password")] UserCard userCard)
{
if (ModelState.IsValid)
{
//db.Entry(userCard).State = EntityState.Modified;
db.UserCards.Attach(userCard);
db.Entry(userCard).Property(model => model.password).IsModified = true;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(userCard);
}
答案 0 :(得分:0)
您可以为传入的htmlAttribute匿名类型添加value属性。
@Html.EditorFor(model => model.userCard.password, new { @class = "form-control", @value = "" } })