asp.net-mvc - 输入类型=Checkbox、@HTML.CheckBox 和@HTML.CheckBoxFor 的区别?

标签 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor razor-2

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

你能指导一下为什么为同一件事提供两个助手吗?在什么情况下应该使用哪一个?

谢谢

编辑:
添加输入 type=checkbox

最佳答案

<Input type="Checkbox">是复选框的 HTML 标记和 @Html.CheckBox & @HTML.CheckBoxFor是 Razor View 引擎的 Html Helpers..

假设您的 View 模型有一个属性 Person.HadDinner ,然后通常要使模型绑定(bind)正常工作,您必须将复选框命名为 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">

关于asp.net-mvc - 输入类型=Checkbox、@HTML.CheckBox 和@HTML.CheckBoxFor 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20896254/

相关文章:

c# - 不允许过滤

c# - ASP.Net MVC Razor Sum 和 Count 函数

c# - 如何将 JavaScript 错误从操作传递到 View ?

c# - 使用错误的 web.config 在 azure 中部署的应用程序

c# - 如何在不丢失 session 的情况下更新 asp net webforms 或 mvc 应用程序?

c# - 用于将 Windows 应用程序连接到 MVC 4 的 Web 服务或 Web API?

asp.net-mvc-4 - 在IIS 7.5中注册.NET Framework 4.5

asp.net-mvc - ASP.NET MVC 应用程序自定义错误页面未显示在共享托管环境中

templates - Knockout.js 模板未更新 dependentObservable 上的 UI 绑定(bind)

asp.net-mvc-4 - 如何将 kendo ui mvc 网格绑定(bind)到对象列表