В 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"})
Как я могу добавить свойства data-phoneType и data-actorId в элемент управления html, поскольку - не разрешено в свойствах HTML Attribute
.
используйте знак подчеркивания _
движок Razor достаточно умен, чтобы сделать знак подчеркивания в имени свойства соответствующим знаку штриховки, в результате чего вы получите желаемые атрибуты HTML5
пример:
@Html.TextBoxFor(m=>m.phoneNumber,
new {@class = "phoneNumber", maxlength = "30",
data_phoneType = YOUR_VALUE_HERE,
data-actorId=YOUR_VALUE_HERE })
и это должно привести к желаемому результату.
надеюсь это поможет :)
Используйте data_*
такие как
@Html.TextBoxFor(m=>m.phoneNumber,
new {
data_phoneType=actorPhone.PhoneTypeTd,
@class = "phoneNumber",
maxlength = "30"
})
Вы можете установить подчеркивание, а Razor будет отображать его как минус/тире:
@Html.TextBoxFor(m => m.phoneNumber,
new { data_phoneType = "phone type",
@class = "phoneNumber",
maxlength = "30"})