如何在维护从ViewData获取值的同时指定Html.TextBox助手的属性?

我正在使用Html.TextBox助手来创build文本框。 我想在文本框中设置属性,我知道是使用以下重载完成的:

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

不过,我想维护HTML助手自动使用ViewData或ViewData.Model中的值的function,而我没有看到只是指定名称和htmlAttributes的方法。 这可能吗?

[编辑]查看源代码后 ,看起来你需要做的就是在名称,值和htmlAttributes的签名中指定值为空。 如果该值为null,则将尝试使用ViewData中的值。

 Html.TextBox( "name", null, new { @class = "css-class" } ); 

尝试这个剃刀

 @Html.TextBox("name", "", new {@class = "css-class", @onclick = "alert('demo');"}); 

如果您不需要从模型中提供值,则始终可以使用标准HTML:

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

然后,您可以提供标签中所需的任何属性。

@Tvanfosson,谢谢你的回答。 今天帮了我一大堆 我正在尝试为列表中的每个部分创build一个行。 我想根据每个部分设置几个属性,并且指出了我的正确方向。 如果有人想看到循环,以及如何设置多个属性,这里是:

  <% 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> <% } %> 
  @Html.TextBox("Name", "Value", new {@class = "class1 class2", @customAttributeName = "attributeValue"})