c# - 在 asp.net MVC6 View 中删除 if 语句的最佳方法

标签 c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-core-mvc

考虑以下代码:

@{
       if ((string) ViewContext.RouteData.DataTokens["area"] == "Guest"){                                                                              
             <text>areaNav_link--selected</text>
       }
}

我该如何删除 if 语句?

最佳答案

我更喜欢使用自定义 html 帮助程序来删除逻辑。

例如,您可以按如下方式调用它:

@Html.WelcomeText()

可以将逻辑移至助手中,如下所示:

public static MvcHtmlString WelcomeText(this HtmlHelper htmlHelper)
{
    var text = string.Empty;
    var areaName = ViewContext.RouteData.Values["area"].ToString();

    if (areaName == "Guest")          
    { 
       text = "Hello Guest";
    }
    return new MvcHtmlString(text);
}

这样您就可以通过一行 Razor 代码在整个网站中重复使用它。

另一种方法是创建 TagHelper .

关于c# - 在 asp.net MVC6 View 中删除 if 语句的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853612/

相关文章:

c# - 如何从另一个类访问具有 protected 构造函数的类

c# - .net 上适用于 Windows XP 的桌面小部件

asp.net - 无法访问 ListView 中的控件

c# - GridView 编辑 - 检查行颜色

asp.net - 配置用于 ASP.Net 身份验证的数据库

javascript - 使用 AJAX 将基于 JSON 的远程数据导入 Select2

c# - 如何填充 C# comboBox 中的空白区域作为对用户的提示?

c# - WPF MessageBox 不等待结果 [WPF NotifyIcon]

c# - ASP.Net:使用 Javascript 和 AJAX 构建多语言网站的方法

asp.net - 如何在ASP.NET Core 1.0中获取bin文件夹