无法将 css 类应用于我的 @Html.DisplayFor 在 WebGrid 中,在我的 asp.net MVC



我的 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>。这意味着类应用于名称属性。希望这有帮助..

相关内容

  • 没有找到相关文章

最新更新