ASP.NET MVC 3: переопределить атрибут «имя» с TextBoxFor - PullRequest
88 голосов
/ 19 мая 2011

Возможно ли использовать Html.TextBoxFor для переопределения атрибута имени?

Я пытался безуспешно. Мне нужно использовать TextBoxFor, чтобы проверка на стороне клиента работала, однако по причинам, в которые я не буду вдаваться, мне нужно, чтобы имя текстового поля отличалось от сгенерированного.

Я пробовал следующее:

@Html.TextBoxFor(x => x.Data, new { name = Model.Key + "_Data", id = Model.Key + "_Data" })

Который работает для ID, но не для имени. Возможно ли это?

Обновление : поиск кода для TextBoxFor. Не похоже, что есть простой способ. Надеюсь, кто-то может доказать, что я неправ.

Ответы [ 11 ]

0 голосов
/ 02 февраля 2018

В этом примере я отключал поля формы на основе разрешений, но все равно их отображал.У меня было скрытое поле для отправки значения в контроллер, но мне нужно было другое имя поля в EditorFor.Первый параметр после значения модели представляет свойство «name», второй - новое имя.

@Html.EditorFor(m => m.UserName, "name", "UserNameDisabled", new { htmlAttributes = new { @class = "form-control", @disabled = "disabled"} });

Результат:

<input class="form-control text-box single-line" disabled="disabled" id="UserNameDisabled" name="UserNameDisabled" type="text" value="someEnteredValue" /> 
...