我正在尝试动态地将类添加到MVC中的div 查看;在这种情况下error
。我发现自己创建了一个 Razor If-Else
块,这意味着我的视图有很多重复的代码。我尝试了一些不同的Razor场景,但找不到合理的方法来有条件地添加新类。任何人都可以建议一种避免重复代码并在View中保持View决策的方法。
@if (ViewData.ModelState["Title"] != null && ViewData.ModelState["Title"].Errors.Any())
{
<div class="select error">
@Html.DropDownListWithTooltipFor(m => m.Title, Model.Titles, new { required = string.Empty, @class = "sel" })
</div>
}
else
{
<div class="select">
@Html.DropDownListWithTooltipFor(m => m.Title, Model.Titles, new { required = string.Empty, @class = "sel" })
</div>
}
答案 0 :(得分:1)
试试这个:
<div @(condition ? "class=select error" : "class = select">
</div>
Razor会为你添加引号(class =“select error”)。这应该适用于MVC3。 另外,请看一下:Conditional HTML Attributes using Razor MVC3和MVC3 - Conditionally add id element with Razor(实际上非常重复)
请注意Erik Porter的答案:如果你能用MVC4做,那么就有更优雅的方式:
<div class="@yourClass" />