html - 覆盖 Html.EditorFor 的 "id"属性 - 不起作用

标签 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 文件中。

如果我使用 as 就可以正常工作:

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

但如果我这样做就不起作用:

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

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

提前致谢。

最佳答案

对不起,我应该更仔细地看。您不希望在 TextBoxFor 方法中使用 @idPasswordTextBox 周围的引号。它在服务器上运行,因此当您在名称周围加上引号时,它会被视为文字字符串。去掉引号,去掉id前面的@,就可以了。

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

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

关于html - 覆盖 Html.EditorFor 的 "id"属性 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274523/

相关文章:

asp.net-mvc - 如何将数据库值放入 asp.net mvc3 Controller 中的数组中

c# - Razor View Engine 的嵌套操作

html - 手机上的div宽度

javascript - 替换 observableArray?

html - Chrome 中的子菜单悬停过渡效果

javascript - 显示 JS ToDo 列表中有多少已完成的任务 VS 有多少任务

javascript - 如何在页面加载时增加浏览器缩放级别?

asp.net-mvc-3 - Razor View 类型不继承自 'System.Web.WebPages.WebPage'

asp.net-mvc - MVC 帮助程序 - 使用 @URL 作为图像 src?

asp.net-mvc-3 - MVC3 Partial 在有缓存的页面上没有缓存