在 ASP.NET MVC 函数中获取查询字符串值

Get Query String Value in ASP.NET MVC Function

我有一个 ASP.NET MVC 应用程序。我的观点使用 Razor。在我的 CSHTML 文件的顶部,我有以下内容:

@functions
{
    public static HtmlString IsSelectedCss(string name)
    {
        string selected = ""; // Need to get value of "t" from query string

        HtmlString attribute = new HtmlString("");
        if (selectedTab.Equals(name, StringComparison.InvariantCultureIgnoreCase))
        {
          attribute = new HtmlString("class=\"active\"");
        }                
        return attribute;
    }
}

我需要这个函数来检查查询字符串。具体来说,我需要获取 "t" 查询字符串参数的值。我的挑战是,我似乎无法弄清楚如何访问此函数中的 QueryString。

如何在 Razor 函数中获取查询字符串参数的值?

谢谢!

您需要使您的函数成为非静态函数,因为查询字符串是请求的一部分。

然后你可以写

HttpContext.Request.Query["t"]

查询字符串可以从下面得到。

HttpContext.Current.Request.QueryString["t"]

您真的应该在控制器中执行此操作并将其推送到模型中。但如果你坚持,你可以简单地使用:

<%= Request["t"] %>

但为什么不在您的控制器中读取它呢?!