使用最新版本的MVC,我想改变项目的风格。从阅读this question开始,我想我可以使用这段代码:
@Html.DisplayNameFor(model => model.Adresse, new { style="width:1000px;" })
但它不会改变任何元素的风格。我该如何修复此代码?
答案 0 :(得分:4)
I don't think DisplayNameFor
renders any HTML elements so adding html attributes to the control won't work.
I would wrap your control with a span
and add a CSS class, then add that class to your stylesheet where you can write and manage your styles there.
Something like this:
<span class="display-name">@Html.DisplayNameFor(model => model.Adresse)<span>
Then in your CSS stylesheet add your new class there:
.display-name{
display:inline-block;
border: 1px solid #ff0000;
background-color:#eee;
font-size:15px;
/*add more styles ...*/
}
答案 1 :(得分:0)
通常,这是通过使用htmlAttributes
属性来完成的,该属性只是一个包含您首选样式的匿名对象,就像您在示例中使用的那样。
然而,此处的问题是,您当前正在尝试将此与DisplayNameFor
帮助程序一起使用,而不是使用TextBoxFor
,TextAreaFor
或类似的实际元素。 / p>
它自己的DisplayNameFor
帮助器只会呈现您要定位的属性的实际名称。
答案 2 :(得分:-1)
实际上相同的答案只是有一些注意事项。
使用这个:
@Html.TextBoxFor(p => p.Publishers[0].pub_name, new { @style="width: 1000px" })
注意:
和1000px
之间的空格。如果样式中只有一个属性,请避免使用分号。