在MVC中声明html助手时,如何用破折号创建html属性?

例如,当我声明和Html.TextboxFor帮助器时,我如何创建data-bind属性?

简单地做:

 @Html.TextBoxFor(model => model.SomeProperty, new { data-bind="something" }) 

由于带有短划线“ – ”符号的命名问题,这是不合法的。 有没有办法解决这个问题,或者只是不可能传递名称包含破折号的html属性?

注意:我尝试拍打@ (这有助于你想在属性前面传递一个与C#保留字匹配的属性,比如“class”),但是没有做到这一点……

您可以使用下划线( _ ),MVC会将它们转换为破折号:

 @Html.TextBoxFor(model => model.SomeProperty, new { data_bind = "something" }) 

注意data_bind属性。