我是MVC的新手并且混淆了什么是差异,
@HTML.CheckBox
和@HTML.CheckBoxFor
.
你能指导为什么两个帮手都是同样的东西吗?在哪种情况下应该使用哪一种?
谢谢
编辑:添加输入 type=checkbox
<Input type="Checkbox">
是一个复选框的Html标记和@Html.CheckBox
&@HTML.CheckBoxFor
是Razor视图引擎的Html Helpers ..
假设你的viewmodel有一个属性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">