覆盖Html.EditorFor的“id”属性 - 不起作用

时间:2011-09-01 18:06:51

标签: html asp.net-mvc-3

尝试覆盖Html.TextBoxFor(MVC 3)的“id”属性,使其看起来像:

<input type="text" name="Password" id="@idPasswordTextBox" value="@Model.Password" />

其中“idPasswordTextBox”定义为: string idPasswordTextBox = "passwordText_"+@Model.Key;在同一个cshtml文件中。

如果我用作:

,这工作正常
<input type="text" name="Password" id="@idPasswordTextBox" value="@Model.Password" />

但如果我这样做就不行了:

@Html.TextBoxFor(model => model.Password, new { id = "@idPasswordTextBox" })

看起来“id”属性搞砸了。我错过了什么?有人可以帮忙吗?我是ASP.net中的新蜜蜂。

提前致谢。

1 个答案:

答案 0 :(得分:5)

对不起,我应该仔细看一下。您不希望TextBoxFor方法中的@idPasswordTextBox引用。这是在服务器上运行的,因此当您在名称周围加上引号时,它将被视为文字字符串。删除引号,并删除id前面的@符号,它将起作用。

重要的是要始终记住服务器上运行的内容以及客户端上运行的内容。

@Html.TextBoxFor(model => model.Password, new { id = @idPasswordTextBox })
相关问题