即使名稱HtmlHelper
應該已經給你一個提示你是否應該使用它。你需要幫忙嗎?如果不是,只需從頭開始寫html。 html的生成方式並不重要:從頭開始或使用html助手。重要的是,它是使用正確的輸入名稱生成的,以便模型綁定器可以將這些輸入綁定到模型。
例如,假設你有以下的模型將被傳遞給視圖和將要收到的POST:
public class SomeModel
{
public Customer Customer { get; set; }
}
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
爲了確保您的輸入將被綁定到模型你需要你的頁面上三個輸入:
<input type="hidden" id="whatever" name="Customer.Id" />
<input type="text" id="whatever" name="Customer.FirstName" />
<input type="text" id="whatever" name="Customer.LastName" />
有了這個HTML標記將保證適當的模型自掃門前雪。但是,您可以通過使用HtmlHelpers,這是一個更容易實現這個標記:
@Html.HiddenFor(m => m.Customer.Id)
@Html.TextBoxFor(m => m.Customer.FirstName)
@Html.TextBoxFor(m => m.Customer.LastName)
這不僅給你每個輸入正確name
屬性,但也相應地分配id
屬性,這樣你就不必這一切都由你自己完成。
看來,從第二篇文章筆者建議從不使用HtmlHelpers有兩個原因:
- 學習目的:我認爲說「Web開發人員必須 舒適的書寫HTML」他意味着開發人員應該知道 正確的模型綁定所需的html標記。
- 對黑匣子的恐懼:好像作者害怕使用HtmlHelpers生成不正確的html 標記,或者他只是不知道將會生成什麼html。
我不同意他的這句話:「HtmlHelpers其生存的唯一理由是隱藏HTML」。我寧願說「HtmlHelpers生活的唯一理由是幫助編寫HTML標記」
摘要: HtmlHelpers 幫助你寫正確的HTML標記,這就是爲什麼我建議你使用它。
什麼讓你感覺更舒適。只需選擇一種設計,並在整個 – orangegoat