在使用Html.TextBoxFor
覆盖name属性时,是否可以?
我试过了,但没有成功。我需要使用TextBoxFor来使客户端验证生效,但是由于我不会深入讨论的原因,我需要文本框的名称与生成的文本框名称不同。
我尝试过以下几种方法:
@Html.TextBoxFor(x => x.Data, new { name = Model.Key + "_Data", id = Model.Key + "_Data" })
它对ID有效,但对名称无效。这个是可能的吗?
更新:查看TextBoxFor的代码。这看起来并不是一种简单的方法。希望有人能证明我错了。
发布于 2013-07-14 17:36:42
罗伯,实际上有一种更简单的方法。不使用名称,而使用名称
@Html.TextBoxFor(x => x.Data, new { Name = Model.Key + "_Data", id = Model.Key + "_Data" })
发布于 2011-05-19 20:01:04
你问这个是因为你想给名字加上一个前缀吗?如果是这样,您可以通过在控制器中设置ViewData.TemplateInfo.HtmlFieldPrefix
来完成此操作。
我从Brad Wilson's blog那里学到了很多关于这方面的知识。
发布于 2015-05-18 22:57:13
EditorFor有一个重载,您可以将name
属性作为参数提供:
@Html.EditorFor(expression, null, name)
https://stackoverflow.com/questions/6057865
复制相似问题