将一个CSS类添加到razor @ Html.DisplayFor

时间:2013-09-08 15:30:06

标签: css asp.net-mvc-3 razor

我想为我的代码部分设置一个新类,但它无法正常工作

@Html.DisplayFor(model => model.melk.Code, new { @class = "myClass" } )

谁能告诉我哪里错了?

2 个答案:

答案 0 :(得分:9)

鲍里斯向你展示了正确的超载,但也有一种简单的方法可以将其改为:

<span class="myClass">
    @Html.DisplayFor(model => model.melk.Code)
</span>

就我个人而言,我发现它更简单,更容易记忆和维护,即使它不是特定于框架的。

答案 1 :(得分:3)

您正在使用的DisplayExtensions.DisplayFor overload将根据model.melk.Code的类型找到DisplayTemplate,最后一个参数(匿名对象new { @class = "myClass" }将传递给模板的ViewData。您有在相应的模板中使用该ViewData以使其工作。

<div class="@(ViewData["class"])"...