C# 向ASP.NET MVC 3 Html Helper文本框添加Id或其他属性

C# 向ASP.NET MVC 3 Html Helper文本框添加Id或其他属性,c#,asp.net,asp.net-mvc,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,如何向html助手文本框添加属性 我试过这个: @Html.TextBox("username", new { id = "username" }) 这似乎将“id=username”放在文本框的值字段中。我想在我的文本框中添加一个Id 谢谢。第二个参数(new{id=“username”}在您的示例中)是文本框的初始值(value属性)。第三个参数是实际的htmlAttributes: @Html.TextBox("username", Model.Username, new { id =

如何向html助手文本框添加属性

我试过这个:

@Html.TextBox("username", new { id = "username" })
这似乎将“id=username”放在文本框的值字段中。我想在我的文本框中添加一个Id

谢谢。

第二个参数(
new{id=“username”}
在您的示例中)是文本框的初始值(value属性)。第三个参数是实际的htmlAttributes:

@Html.TextBox("username", Model.Username, new { id = "username" })

虽然
new{id=“username”}
作为第二个参数是有效的,但您需要将
@
添加到同样是关键字的属性中,如
class

@Bryan已经提供了答案,但有一些特定的属性,如class,与.net代码冲突。因此,使用@来转义字符串,如
@Html.TextBox(“username”,Model.username,new{@class=“username”})
如何添加名称中包含
-
的属性。。?我试着把
@
放在双引号之前。不luck@shashwat您可以使用下划线而不是连字符,ASP.NET MVC将为您进行替换。对于更复杂的情况,您可以始终使用
TextBox
方法覆盖,该方法采用
RouteValueDictionary
而不是匿名对象。