如何根据 Razor 中的某些条件向 div 元素添加一些类?

Dmy*_*tro -1 c# razor asp.net-mvc-3

我对 Razor 语法很困惑)))例如我有一个元素:

<div class="category-block">

</div>
Run Code Online (Sandbox Code Playgroud)

我有一个参数

string viewMode = Html.ViewContext.HttpContext.Request.QueryString["view"];

我需要使用 class 将list-blockclass 添加到我的 div 元素category-block并获取

<div class="category-block list-block">

</div>
Run Code Online (Sandbox Code Playgroud)

如果

viewMode != null && viewMode.Equals("list", StringComparison.OrdinalIgnoreCase)

我尝试做类似的事情:

<div class="category-block @(viewMode != null && viewMode.Equals("list", StringComparison.OrdinalIgnoreCase)) ? list-block : string.Empty ">
Run Code Online (Sandbox Code Playgroud)

但每次我都会遇到很多语法错误...我不知道是否可以在打开的属性括号内写一些东西;

Chr*_*ris 5

你把最后的 ) 放在了错误的地方。另外,您需要在 周围添加引号list-block

<div class="category-block @(viewMode != null && viewMode.Equals("list", StringComparison.OrdinalIgnoreCase) ? "list-block" : string.Empty)">
Run Code Online (Sandbox Code Playgroud)

另外,如果您要在类似的视图中进行大量字符串比较,我建议您创建一个辅助方法,这样您就不必string.Equals(str, StringComparison.OrdinalIgnoreCase)每次都使用详细信息。