Как добавить HTML-атрибут автозаполнения данных в помощник TextBoxFor HTML? - PullRequest
5 голосов
/ 21 октября 2011

текстовое поле автозаполнения для получения текстового поля автозаполнения города.

Мой код выглядит так,

<input id="location" type="text" name="q" 
data-autocomplete="@Url.Action("locationSearch", "Home", 
                       new { text = "location" })"/>

Теперь я хочу преобразовать это в синтаксис бритвы. Я пробовал это, но не работает.

@Html.TextBoxFor(model => model.Location, 
   new { data-autocomplete = Url.Action("locationSearch", "Home")})

Как я могу решить это?

Ответы [ 3 ]

7 голосов
/ 21 октября 2011

data-autocomplete - это атрибут HTML.Прежде всего, вы не можете использовать тире при указании атрибутов в MVC, поэтому вам нужно заменить свое автозаполнение на data_autocomplete.MVC «достаточно умен», и в результате будет получено автоматическое заполнение данных.

Чтобы добавить атрибут HTML к вашему текстовому вводу, вам нужно использовать следующий помощник HTML:

@Html.TextBoxFor(model => model.Location, new { data_autocomplete = Url.Action("locationSearch", "Home") })

Пожалуйста, работайтена вашем уровне принятия.

1 голос
/ 21 октября 2011

вы можете просто использовать это

в вашем представлении

<select id="location" name="location"></select>

           <input type="submit" value="Send">

, которое фактически является выпадающим списком, а не текстовым полем, они редактируют макет с помощью css

0 голосов
/ 21 октября 2011

Вы должны использовать символ undescore в аргументе HtmlAttributes:

@Html.TextBoxFor(model => model.Location, new { data_autocomplete = Url.Action("locationSearch", "Home")})
...