2013-02-09 54 views
0

我不喜歡自動生成的代碼,所以我做了一個決定,從來沒有使用Asp.net MVC的Html助手,但我面臨一個問題,當保存輸入值驗證失敗後,所以值被保存當我使用在asp.net mvc中正確使用textboxfor helper沒有幫助?

@Html.TextBoxFor(m=>m.Name) 

,但它不保存值當我寫

<input type="text" name="Name"/> 

所以如何我可以有同樣的事情,而無需使用TextBoxFor幫手,請問這個幫手做的,我還沒有

回答

2

我不喜歡自動生成的代碼,所以我做出決定,將不會使用Asp.net MVC的HTML輔助

你將有一個地獄很難做到ASP.NET MVC的發展,如果你不使用助手,恐怕你不會走得太遠。您不僅需要爲輸入字段設置值,還要在輸入字段上發佈HTML5數據屬性,以便進行不顯眼的客戶端驗證等所有事情,這些內容都是由HTML助手自動處理的。

你總是可以在您的視圖下進行下列色情,如果你發現更易讀:

<input type="text" name="Name" value="@Html.Raw(HttpUtility.HtmlAttributeEncode(Model != null ? Model.Name : ""))" /> 

但我不知道爲什麼我還挺喜歡寫@Html.TextBoxFor(m => m.Name)。我不知道,也許這只是個人喜好的問題。

但是要回答你的問題,你可以在沒有幫助的情況下做ASP.NET MVC。只是你可能會發現這是一個非常不愉快的經歷。

+0

謝謝,但還有一個問題,爲什麼當我手動編寫由@ Html.TextBoxFor(m => m.Name)生成的相同的東西時它不起作用 – 2013-02-09 13:21:11

+0

因爲HTML幫助程序已經考慮了模型。該幫手正是爲此目的而設計的。這種幫助器內置了這樣的邏輯。它將檢查您的模型屬性是否有值,並在輸入標籤上發出相應的值屬性。它也會考慮正確編碼這個值,以便它不會破壞你的標記等等。 – 2013-02-09 13:22:15

+0

我如何閱讀幫助模板,確切知道它的作用(它是心靈上的,總是浪費時間學習基礎設施如何工作,而其他人學習如何使用它) – 2013-02-09 13:27:28