Как указать атрибуты для помощника Html.TextBox при сохранении извлечения значения из ViewData? - PullRequest
36 голосов
/ 14 ноября 2008

Я использую помощник Html.TextBox для создания текстовых полей. Я хочу установить атрибуты для текстового поля, которое, как я понимаю, выполняется с использованием следующей перегрузки:

Html.TextBox (string name, object value, object htmlAttributes)

Однако я хочу сохранить функциональность, когда помощник HTML автоматически использует значение из ViewData или ViewData.Model, и я не вижу способа просто указать имя и атрибуты htmlAttributes. Это возможно?

Ответы [ 5 ]

60 голосов
/ 14 ноября 2008

[РЕДАКТИРОВАТЬ] После просмотра исходного кода выясняется, что все, что вам нужно сделать, это указать значение null в подписи, которая принимает имя, значение и атрибуты htmlAttributes. Если значение равно нулю, оно будет пытаться использовать значение из ViewData.

Html.TextBox( "name", null, new { @class = "css-class" } );
8 голосов
/ 24 февраля 2014

попробуйте это для бритвы

@Html.TextBox("name", "", new {@class = "css-class", @onclick = "alert('demo');"});
6 голосов
/ 14 ноября 2008

Если вам не нужно указывать значение из вашей модели, вы всегда можете просто использовать стандартный HTML:

<input type="text" name="fieldName" id="fieldName"/>

Затем вы можете указать любые атрибуты, которые вам нужны в теге.

2 голосов
/ 24 декабря 2011

@ Tvanfosson, спасибо за ответ. Это помогло мне сегодня. Я пытался создать таблицу со строкой для каждой части списка. Я хотел установить несколько атрибутов для каждой части, и вы указали мне правильное направление. В случае, если кто-то хочет увидеть цикл и как установить несколько атрибутов, здесь идет:

    <% foreach (var poPart in Model.myPartsList)
       { %>
         <tr>
             <td>
                <% var part = Model.PartID; %>
                <%: Html.TextBox(part.ToString(), null, new { @class = "narrowText", @id = part.ToString() })%>
             </td>
         </tr>
   <% } %>
0 голосов
/ 17 апреля 2016
 @Html.TextBox("Name", "Value", new {@class = "class1 class2", @customAttributeName = "attributeValue"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...