我的 asp.net MVC Razor视图中有以下代码:-
@{
List<Marketing.Models.SalesData> allLevels = ViewBag.AllLevels;
var gridcolumns = new List<WebGridColumn>();
gridcolumns.Add(new WebGridColumn()
{
ColumnName = "Status",
Header = Html.DisplayNameFor(model => model.Content.FirstOrDefault().Status).ToString(),
CanSort = true,
Format =
(item) =>
{
var banner = item.Value as Marketing.Models.SalesData;
return Html.DisplayFor(modelItem => banner.Status, new { @class = banner.Status });
}
});
现在我要做的是在我的Html.DisplayFor(modelItem => banner.Status, new { @class = banner.Status });
中定义一个 CSS 类,但这将呈现没有任何 CSS 类,如下所示:-
<td>succeed</td>
现在我虽然我定义类的方式有问题,所以我尝试了这个测试,对类名进行硬编码Html.DisplayFor(modelItem => banner.Status, new { @class = "testclass"});
但这并没有呈现 CSS 类.. 所以任何人都可以对此表示不满吗?现在我正在使用 asp.net MVC 版本 5.2.3.0,它应该支持在我的 HTML 帮助程序中定义 CSS 类。
首先看看这个例子。 @Html.LabelFor()
帮助程序函数呈现<label></label>
标记。假设如果你写@Html.LabelFor(m=>m.Name, new {@class = "form-control"})
它返回<label class = "form-control">David</label>
.因此,我们可以将类应用于辅助函数的标签。但是@Html.DisplayFor()
不呈现任何 html 标记。如果你写@Html.DisplayFor(m=>m.Name)
它只返回你的名字,比如:David
。因此,您必须将@Html.DisplayFor()
帮助程序包装在跨度内并对其应用类。比如:<span class = "form-control">@Html.DisplayFor(m=>m.Name)</span>
。然后输出将<span class="form-control">David</span>
。这意味着类应用于名称属性。希望这有帮助..