c# - 显示某些基于查询字符串的 HTML

标签 c# asp.net asp.net-mvc query-string

我有一个查询字符串,我想将其传递到我的 razor View 中。 example.com/25?Type=1&Assigned=1

我想根据查询字符串是否包含某些值来更改我的 html。我试过做

@if (Request.QueryString["Type=1&Assigned=1"])
{
  <button id="type1" class="btn-t btn-success type-button" 
onclick="SetType(1);"><i class="fa fa-info-circle fa-fw"></i>Invitation</button>
}
else {
<button id="type1" class="btn-t btn-xxxx 
type-button" onclick="SetType(1);"><i class="fa fa-info-circle fa-fw"> 
</i>Invitation</button>
}

但它只显示了else。我做错了什么?

最佳答案

Request.QueryString 甚至不是 boolean 值,所以不明白你在干什么。它是 NameValueCollection 类型。如果你仍然想检查它,你应该这样写:

@if (Request.QueryString["Type"] == "1" 
   && Request.QueryString["Assigned"] == "1")
{
...
}

但在 MVC 中使用 QueryString 进行操作确实是不好的做法。使用强类型 View ,不要弄乱Request 本身。

关于c# - 显示某些基于查询字符串的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31385435/

相关文章:

asp.net-mvc - 存储库模式 : One repository class for each entity?

c# - 有什么方法可以将复选框列表绑定(bind)到 asp.net mvc 中的模型

c# - 模型类的复合属性是否应该始终初始化?

c# - 在 ASP.NET 中的异步 ajax 事件上执行一行 javascript

asp.net - IIS Url Rewrite RegEx 与 .NET RegEx 的差异

asp.net - 使用 Web.config 重写的 Url 不适用于 IIS Express

c# - 在没有回发的情况下使用 jquery 在 ASP.NET Web 表单中显示数据插入的转发器

sql-server - ASP.NET MVC/SQL Server 中的 OpenAuth

c# - 在 DataGrid 的 PreviewMouseDown 事件中获取当前行

c# - 无法让 Foundation 的 Abide 与 Html Helper 表单一起使用