在MVC中更改控件和html的样式

时间:2016-04-04 15:39:08

标签: html asp.net asp.net-mvc

使用最新版本的MVC,我想改变项目的风格。从阅读this question开始,我想我可以使用这段代码:

@Html.DisplayNameFor(model => model.Adresse, new { style="width:1000px;" })

但它不会改变任何元素的风格。我该如何修复此代码?

3 个答案:

答案 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帮助程序一起使用,而不是使用TextBoxForTextAreaFor或类似的实际元素。 / p>

它自己的DisplayNameFor帮助器只会呈现您要定位的属性的实际名称。

答案 2 :(得分:-1)

实际上相同的答案只是有一些注意事项。

使用这个: @Html.TextBoxFor(p => p.Publishers[0].pub_name, new { @style="width: 1000px" }) 注意:1000px之间的空格。如果样式中只有一个属性,请避免使用分号。