如何通过ViewBag属性将类添加到html元素?

时间:2014-07-16 18:17:27

标签: asp.net asp.net-mvc

因此,如果我的视图获得的模型与html元素没有任何关系,我想添加某个类,我该怎么做?我认为我必须使用ViewBag,但我无法弄明白。

视图最终会像这样。

@model CRW.WebUI.Models.ItemsListViewModel

@{
   ViewBag.Title = "ListP";
}

<h2>Discounts available</h2>

@foreach (var p in Model.Items)
{
Html.RenderPartial("ProductsListing", p);
} 

我想在此视图中添加class属性,我不想将任何内容与模型相关联。我希望它保持完整。

我想在共享视图中定义的元素a上添加“selected”类,并且我可以通过其innerHtml字符串来识别。

2 个答案:

答案 0 :(得分:2)

您可以使用ViewBag,如下所示。

<h2 class="@(ViewBag.MyClass)">Discounts available</h2>

@Html.ActionLink("Link Text", "method", "controller", null, new { @class = ViewBag.MyClass })

谢谢!

答案 1 :(得分:0)

使用?运算符来设置条件HTML类,例如隐藏或显示简单的引导警报div,您可以在new HtmlString()中使用System.Web函数:

<div @(ViewBag.MsgToClient == null ? new HtmlString("class=\"hidden\"") : new HtmlString("class=\"alert alert-light\"")) role="alert">
        <h4>Validation Error:</h4>
        <h5 class="text-danger">@ViewBag.MsgToClient</h5>
</div>