1

我的 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 });
                        }
                });

现在我要做的是在我的内部定义一个 css 类,Html.DisplayFor(modelItem => banner.Status, new { @class = banner.Status });但这将呈现没有任何 css 类,如下所示:-

<td>succeed</td>

现在我虽然定义类的方式有问题,所以我尝试了这个测试,对类名进行硬编码,Html.DisplayFor(modelItem => banner.Status, new { @class = "testclass"});但这并没有呈现 css 类。所以有人可以推荐一下吗?现在我正在使用 asp.net mvc 5.2.3.0 版,它应该支持在我的 HTML 助手中定义 css 类。

4

1 回答 1

1

首先看一下这个例子。@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()Helper 包装在 span 中并将类应用于它。喜欢:<span class = "form-control">@Html.DisplayFor(m=>m.Name)</span>。然后输出将是<span class="form-control">David</span>. 这意味着应用于名称属性的类。希望这可以帮助..

于 2017-10-17T12:33:02.583 回答