首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC3:用TextBoxFor覆盖"name“属性

ASP.NET MVC3:用TextBoxFor覆盖"name“属性
EN

Stack Overflow用户
提问于 2011-05-19 19:23:48
回答 11查看 78.2K关注 0票数 104

在使用Html.TextBoxFor覆盖name属性时,是否可以?

我试过了,但没有成功。我需要使用TextBoxFor来使客户端验证生效,但是由于我不会深入讨论的原因,我需要文本框的名称与生成的文本框名称不同。

我尝试过以下几种方法:

代码语言:javascript
复制
@Html.TextBoxFor(x => x.Data, new { name = Model.Key + "_Data", id = Model.Key + "_Data" })

它对ID有效,但对名称无效。这个是可能的吗?

更新:查看TextBoxFor的代码。这看起来并不是一种简单的方法。希望有人能证明我错了。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2013-07-14 17:36:42

罗伯,实际上有一种更简单的方法。不使用名称,而使用名称

代码语言:javascript
复制
@Html.TextBoxFor(x => x.Data, new { Name = Model.Key + "_Data", id = Model.Key + "_Data" })
票数 246
EN

Stack Overflow用户

发布于 2011-05-19 20:01:04

你问这个是因为你想给名字加上一个前缀吗?如果是这样,您可以通过在控制器中设置ViewData.TemplateInfo.HtmlFieldPrefix来完成此操作。

我从Brad Wilson's blog那里学到了很多关于这方面的知识。

票数 41
EN

Stack Overflow用户

发布于 2015-05-18 22:57:13

EditorFor有一个重载,您可以将name属性作为参数提供:

代码语言:javascript
复制
 @Html.EditorFor(expression, null, name)
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6057865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档