在MVc中我正在使用Html.TextboxFor()
控件
我有输入类型控制如下。
<input id="phoneNumber" type="text" class="phoneNumber form-control" value="@actorPhone.PhoneNumber" data-phoneType ="@actorPhone.PhoneTypeTd" data-actorId ="@Model.ActorId" maxlength="30"/>
我想将此输入控件更改为MVC
@Html.TextBoxFor(m=>m.phoneNumber,new {@class = "phoneNumber", maxlength = "30"})
我如何将数据-phoneType和data-actorId属性添加到html控件,因为 - HTML Attribute
的属性中不允许这样做。
答案 0 :(得分:1)
您可以设置下划线,Razor会将其渲染为减号/破折号:
@Html.TextBoxFor(m => m.phoneNumber,
new { data_phoneType = "phone type",
@class = "phoneNumber",
maxlength = "30"})
答案 1 :(得分:1)
使用下划线_
Razor引擎非常智能,可以将属性名称中的下划线渲染到相应的破折号,从而产生所需的类似HTML5的属性
示例:
@Html.TextBoxFor(m=>m.phoneNumber,
new {@class = "phoneNumber", maxlength = "30",
data_phoneType = YOUR_VALUE_HERE,
data-actorId=YOUR_VALUE_HERE })
这将导致您想要的输出。
希望这有助于:)
答案 2 :(得分:1)
使用data_*
属性,例如
@Html.TextBoxFor(m=>m.phoneNumber,
new {
data_phoneType=actorPhone.PhoneTypeTd,
@class = "phoneNumber",
maxlength = "30"
})