Добавить недвижимость с - в имени

0

В 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.

  • 0
    Со всеми ответами здесь есть еще одна ссылка с использованием подчеркивания.
Теги:
razor
asp.net-mvc

3 ответа

1
Лучший ответ

используйте знак подчеркивания _

движок Razor достаточно умен, чтобы сделать знак подчеркивания в имени свойства соответствующим знаку штриховки, в результате чего вы получите желаемые атрибуты HTML5

пример:

    @Html.TextBoxFor(m=>m.phoneNumber,
    new {@class = "phoneNumber", maxlength = "30", 
    data_phoneType = YOUR_VALUE_HERE,    
    data-actorId=YOUR_VALUE_HERE })

и это должно привести к желаемому результату.

надеюсь это поможет :)

1

Используйте data_* такие как

@Html.TextBoxFor(m=>m.phoneNumber,
    new {
        data_phoneType=actorPhone.PhoneTypeTd, 
        @class = "phoneNumber", 
        maxlength = "30"
        })
1

Вы можете установить подчеркивание, а Razor будет отображать его как минус/тире:

@Html.TextBoxFor(m => m.phoneNumber, 
      new { data_phoneType = "phone type",  
            @class = "phoneNumber", 
            maxlength = "30"})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню