根据查询字符串值激活 li

Making an li active according query string value

我正在使用 ASP.NET MVC 使用 C# 编写一个网站。我有 ul li, 和几个选项卡,我想获取查询字符串并检查值,根据查询字符串值,我想使 li 活动

 <li class="nav-item">
     <a class="nav-link @{Context.Request.Query["ordering"] == "newest" ? 'active' : ''}" href="~/products?CatId=@Context.Request.Query["CatId"]&ordering=newest" role="tab" aria-controls="newest" aria-selected="true">newest</a>
  </li>
  <li class="nav-item">
      <a class="nav-link @{Context.Request.Query["ordering"] == "MostVisited" ? 'active' : ''}"  href="~/products?CatId=@Context.Request.Query["CatId"]&ordering=MostVisited" role="tab" aria-controls="MostVisited" aria-selected="false">MostVisited</a>
  </li>
                   
   <li class="nav-item">
       <a class="nav-link @{Context.Request.Query["ordering"] == "Most-Rank" ? 'active' : ''}" href="~/products?CatId=@Context.Request.Query["CatId"]&ordering=Most-Rank" role="tab" aria-controls="Most-Rank" aria-selected="false">Most-Rank</a>
   </li>

    <li class="nav-item">
        <a class="nav-link @{Context.Request.Query["ordering"] == "cheapest" ? 'active' : ''}" href="~/products?CatId=@Context.Request.Query["CatId"]&ordering=cheapest" role="tab" aria-controls="cheapest" aria-selected="false">cheapest</a>
    </li>

但是没有用,请问是什么问题?

你能尝试用 @(Context.Request.Query["ordering"] == "MostVisited" ? 'active' : '')" 替换 @{Context.Request.Query["ordering"] == "MostVisited" ? 'active' : ''}" 吗?

如果是 Razor 模板,那么正确的语法是 @(expression),而不是 @{expression}

此致