2014-05-08 34 views
2

我已經MVC5應用程序,並在創建視圖中我有用戶名和密碼字段。字段密碼返回空以在編輯模式下查看

我把值在用戶和密碼字段,當我進入到編輯模式我在文本框中

和看到的只是用戶價值的密碼字段爲空,爲什麼呢?當我調試代碼時,我發現在編輯結束時(返回視圖(UserPass);)我得到的值與對象,而不是調用視圖(剃鬚刀),我看不到在通過文本框...

任何想法爲什麼用戶存在,密碼不是? 我只是希望它是場在編輯模式星號...

在編輯和創建視圖使用:

<div class="form-group"> 
    @Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.PasswordFor(model => model.Password) 
     @Html.ValidationMessageFor(model => model.Password) 
    </div> 
</div> 
+0

可能重複[ASP.Net MVC3 Html.PasswordFor不填充(HTTP://計算器。 com/questions/5642849/asp-net-mvc3-html-passwordfor-does-not-populate) – Howli

回答

1

渲染密碼的值轉換成HTML源代碼是一個巨大的安全風險。它防止你泄漏你的密碼。否則有人可以查看網頁的源文件,看看:

<input type="password" value="password123" /> 

我建議做以下幾點:

@Html.PasswordFor(model => model.Password, new { placeholder = "********" }) 

這會放一些「視覺」星號,其中將消失的文本框,當用戶開始輸入一個實際的價值。它不受所有瀏覽器支持,但它的東西。

2

使用此:

@Html.PasswordFor(model => model.Password,new{@Value=Model.Password}) 

注意Value:v應該大寫的

+0

非常簡單的解決方案,誰想要顯示密碼已經填滿任何如何不顧安全問題。 – ruchit07