这有效:
<li @{if (Model.Mode == "map") {<text> class="bselected"</text>}}>@Html.ActionLink("Map & Directions", MVC.Biz.Show(Model.SingleBiz.BizName, "map", string.Empty))</li>
Run Code Online (Sandbox Code Playgroud)
但它很难看......有更好,更清洁的方法吗?在这段代码中,我正在检查某些视图数据是否为空或空,如果是,则添加一个类.
或者是否有另一种技术可以更好地实现这一目标?
Lee*_*unn 15
我昨天发布了一些处理这种事情的Html扩展方法:
使用此方法将为您提供以下Razor语法:
<li @Html.Css("selected", Model.Mode == "map" )>STUFF</li>
Run Code Online (Sandbox Code Playgroud)
注意:您可以将属性链接在一起,以根据多个条件构建属性值.例如:
<li @Html.Css("selected", true).Add("winner", false).Add("last", true)>STUFF</li>
Run Code Online (Sandbox Code Playgroud)
输出:
<li class="selected last">STUFF</li>
Run Code Online (Sandbox Code Playgroud)
此外,如果结果属性值为空,则属性将折叠以保持html整洁.
Sim*_*ett 12
或者你可以这样做:
@{
var cssClass = (Model.Mode == "map") ? "selected" : "";
}
<li class="@cssClass">@Html.ActionLink("Map & Directions", MVC.Biz.Show(Model.SingleBiz.BizName, "map", string.Empty))</li>
Run Code Online (Sandbox Code Playgroud)