2013-11-18 4 views
0

Я пытаюсь реализовать автоматическое полное текстовое поле с использованием MVC 4 Razor View. поэтому мне нужно включить include по атрибуту (data-otf-autocomplete) в элемент управления HTML.EditorFor, но он показывает ошибку, не позволяющую добавить новый атрибут?HTML.EditorFor не разрешает пользовательский атрибут?

Показаны ошибки при:

@Html.EditorFor(model => model.Subjects.Name, new { @data-otf-autocomplete="@Url.Action('Autocomplete_Subject')" }); 

Примечание: Я не могу редактировать/изменить имя атрибута, поскольку этот атрибут генерируется 3 партии, которая была включена в DLL компонента.

enter image description here

ответ

0

MVC имеет соглашение для работы вокруг этого, просто использовать подчеркивание вместо черточек и он преобразуется обратно в тир, как MVC служит страницу:

@Html.EditorFor(model => model.Subjects.Name, new { data_otf_autocomplete = Url.Action("Autocomplete_Subject") }) 
+0

Адриан Томпсон Филипс, 'данных УПН-autocomplete' был JQuery плагин UI, и он включен в DLL, я не могу изменить имя атрибута, пожалуйста, дайте мне знать, есть ли альтернативный способ использовать дефис в Управление MVC? – sridharnetha

+0

Это не проблема, см. Мой ответ выше, хотя вы использовали подчеркивания «_», когда вы смотрите на HTML-код, который он выводит, он будет отображаться как «data-oft-autocomplete» и должен отлично работать с вашим плагином jQuery UI , –

+0

Да, конечно :-) – sridharnetha

1

По Адриану Томпсона Филлипс предложения, которые я использовал, и подчеркивания вместо тире. @Html.EditorFor не предлагал текст автозаполнения, поэтому я использовал @Html.TextBoxFor вместо @Html.EditorFor.

Это работает для меня!

  1. Использование Подчеркивает вместо черточек
  2. Использование @Html.TextBoxFor вместо @Html.EditorFor

    @ Html.TextBoxFor (модель => model.Subjects.Name, новый {@data_otf_autocomplete = @ Url.Action ("Autocomplete_Subject ")});

Смежные вопросы