2016-06-21 53 views
1

如果這個問題不清楚,或者我沒有提供足夠的信息,我很抱歉,我是CSHTML的新手,並且不知道我是否錯過了一些令人難以置信的明顯信息。CSHTML,使用EditorFor更改值,不希望顯示舊值?

我目前在我的視圖中有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> 

此的ViewPage控制器方法如下:

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

你可以值屬性添加到htmlAttribute匿名類型傳入

@Html.EditorFor(model => model.userCard.password, new { @class = "form-control", @value = "" } }) 
+0

當我在「@value」中大寫「V」時,該解決方案奏效!非常感謝。 –

+0

哦,是的,沒錯!我沒有一個確定的環境。很高興幫助。 – JDupont