首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖`Html.EditorFor`上的类

覆盖`Html.EditorFor`上的类
EN

Stack Overflow用户
提问于 2010-11-02 15:04:29
回答 6查看 15.4K关注 0票数 14

默认情况下,与

代码语言:javascript
复制
<%: Html.EditorFor(m => m.ConfirmationHeadline) %>

产出如下:

代码语言:javascript
复制
 <input type="text" value="" 
        name="ConfirmationHeadline" id="ConfirmationHeadline" 
        class="text-box single-line">

如您所见,输入已经追加了一个class属性。嗯,这不应该是个问题,只要用

代码语言:javascript
复制
<%: Html.EditorFor(m => m.ConfirmationHeadline, new { @class="span-11 last"}) %>

而且应该有效..。错误..。不!

这将输出完全相同的代码!

尽管如此,在Html.TextAreaFor()中工作还是不错的。

我如何从出现的类text-box single-line中删除类,以便可以追加我自己的类?任何我应该编辑的T4模板?

谢谢你的帮助。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-11-02 18:03:24

在通过EditorFor方法使用内置编辑器模板时,无法自定义发出的类属性的值。它对类值进行硬编码(更多信息可在这里获得:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html)

你有两个选择:

  1. 编写自己的自定义模板,以支持额外的功能。在这里查看更多详细信息:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-4-custom-object-templates.html
  2. Process,EditorFor方法的输出:

代码语言:javascript
复制
 <%: new HtmlString(Html.EditorFor(m=>m.ConfirmationHeadline).ToString()
        .Replace("class=\"text-box single-line\"", 
                 "class=\"text-box single-line span-11 last\"")) %>
票数 12
EN

Stack Overflow用户

发布于 2014-05-23 16:25:32

在MCV5.1中,您可以利用htmlAttributes。很有魅力..。

代码语言:javascript
复制
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control", placeholder = "Enter your Name" } })
票数 6
EN

Stack Overflow用户

发布于 2010-12-01 06:15:52

asp.net mvc在content文件夹中创建一个名为site.css的文件。在这里,您可以看到文本框类默认设置为30 set。把它调到更理智的地方,比如15分钟。单行类似乎没有在任何地方定义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4078968

复制
相关文章

相似问题

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