MVC2: Невозможно изменить имя с TextBoxFor? - PullRequest
6 голосов
/ 20 мая 2011

Я хочу вручную определить идентификатор и имя для текстового поля следующим образом:

<%: Html.TextBoxFor(model => model.Name, new { @id = "txt1", @name = "txt1" })%>

Но меняется только идентификатор, а не атрибут имени, почему?

<input id="txt1" name="Name" type="text" value="">

Спасибо!

Ответы [ 4 ]

17 голосов
/ 08 декабря 2011

Это нормально:

<%: Html.TextBoxFor(model => model.Name, new { Name = "txt1" })%> 

Вы пишете " Имя " вместо "имя"?

Вывод:

<input  name="txt1" type="text" value=""> 
10 голосов
/ 24 августа 2013

На самом деле вы можете ... просто использовать Name с первой заглавной буквой вместо name:

@Html.TextBoxFor(model => model.Property, new { Name = "myName" })
5 голосов
/ 20 мая 2011

Для этого нельзя использовать строго типизированную лямбда-версию, вам нужно будет использовать более старую версию

Html.TextBox("txt1",new {@id = "txt1"})
1 голос
/ 20 мая 2011

Если вам все еще нужно использовать TextBoxFor(), вы можете изменить имя свойства вашей модели, что должно быть легко, если вы используете выделенные ViewModels, как рекомендуется.Однако я признаю, что это рекомендация, которой я не всегда следую за собой.

...