Asp.net-Mvc

輸入類型=Checkbox、@HTML.CheckBox 和@HTML.CheckBoxFor 的區別?

  • January 3, 2014

我是 MVC 的新手,很困惑<Input type="Checkbox">,@HTML.CheckBox@HTML.CheckBoxFor.

你能指導一下為什麼為同一件事提供兩個助手嗎?在什麼情況下應該使用哪一個?

謝謝

編輯:添加輸入type=checkbox

<Input type="Checkbox">是複選框的 Html 標記,@Html.CheckBox&@HTML.CheckBoxFor是 Razor 視圖引擎的 Html 助手。

假設您的視圖模型有一個屬性Person.HadDinner,那麼通常要使模型綁定正常工作,您必須將復選框Person.HadDinner和 id 命名為Person_HadDinner..

你可以使用@Html.CheckBox喜歡

@HTML.CheckBox("Person.HadDinner", Model.Person.HadDinner)

但如果你使用@HTML.CheckBoxFor,它將是強類型的..

@HTML.CheckBoxFor(x => x.Person.HadDinner)

在這兩種情況下,最終輸出標記將是

<input type="checkbox" id="Person_HadDinner" name="Person.HadDinner">

引用自:https://stackoverflow.com/questions/20896254