MVC的ViewData自動給Razor寫的input賦值


問題:

寫編輯的時候,突然發現,沒有值的model,突然出現了值,而且值是ViewData中值。

 

后台:

this.ViewData["test"] = "測試";

前台:

<%= Html.TextBox("test", Model.test) %> //情況一,其中Model.test 為null
<%= Html.TextBox("test") %> //情況二

結果:

上述兩種情況,均出現了值,值是this.ViewData["test"]的值 ,“測試” 。

現在我們更改前台的html,給他一個初值123。

<%= Html.TextBox("test","123") %>

給完初值以后,test的值變為123。

 

結論:

1、當你以Razor寫 input 的時候,並且value為 null 的時候。  例:<%= Html.TextBox("test") %>

2、后台有個與該 input 的id一模一樣的名字的ViewData。      例:this.ViewData["test"] = "測試";

此時,就會自動把ViewData里的值,賦值到這個input里。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM