通常,在使用HTML帮助程序时,我可以使用自动生成的表单元素名称:
@Html.TextBoxFor(m => m.Property)
不幸的是,我需要创建一个具有特定input
属性的name
。
我意识到我可以使用普通HTML构建输入并使用模型绑定器或BindAttribute
来检索其提交的值。但是,我想知道是否有办法让属性来指定生成的输入名称并启用绑定。
这可能吗?如果是这样,怎么办呢?
答案 0 :(得分:1)
我建议只使用带有绑定名称的隐藏输入,然后使用预期名称呈现单独的输入。假设这是一个JS控件。从那里,绑定可见输入的change事件以克隆到隐藏的输入。
答案 1 :(得分:0)
设置input
元素名称的一种方法是使用TextBoxFor
的重载。
但这会导致默认模型绑定器出现问题。您可以创建自己的ModelBinder来解决此问题。
@Html.TextBoxFor(m => m.Property, new { @name = "YourName" })