2017-10-16 89 views
-1

我們如何使用@ Html.EditorFor來顯示用戶密碼? 另一種方法是使用@ Html.PasswordFor。 哪個選項更適合引入此編輯器助手的任何特定原因。我們如何使用@ Html.EditorFor來顯示用戶密碼?

+0

問題的背景是什麼?您是否使用內置的身份識別2.0?如果密碼是默認加密的,那麼一旦它們被創建,就無法查看它們。如果您使用自己的密碼/登錄系統,則只需調用表中的數據並將其放入控制器頁面的視圖模型中即可。然後在您的視圖模型相關字段的頁面上調用@ Html.Editorfor helper。 – Rob

回答

0

爲了生成具有使用@Html.EditorFor(m => m.Password)type="password"輸入,既可以裝飾你屬性與DataTypeAttribute

[DataType(DataType.Password)] 
public string Password { get; set; } 

或(對於MVC-5.1或更高版本)可以添加使用

@Html.EditorFor(m => m.Password, new { htmlAttributes = new { type = "password" } }) 
屬性

推薦的方法是使用@Html.PasswordFor(),因爲它不會發送請求中屬性的值。除PasswordFor()之外的所有HtmlHelper生成表單控件的方法(如果它們存在,則從ModelState值或從模型值填充輸入。在EditorFor()的情況下,如果由於錯誤而返回視圖,則密碼將傳遞給客戶端,並且該值將顯示(儘管是控件中的一系列點)。這隻會增加黑客攔截請求並發現密碼的風險。 PasswordFor()方法不會將值傳遞給客戶端,並且輸入將爲空,從而迫使用戶重新輸入密碼(這是應該發生的事情)。

相關問題