显示某些HTML基于关闭查询字符串
我有一个查询字符串,我想进入我的剃刀视图。 example.com/25?Type=1&Assigned=1
显示某些HTML基于关闭查询字符串
我想根据查询字符串是否包含某些值来更改我的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
价值,所以不明白你是什么donig。它是NameValueCollection
类型。如果你还是要检查它,你应该这样写:
@if (Request.QueryString["Type"] == "1"
&& Request.QueryString["Assigned"] == "1")
{
...
}
但它确实不好的做法在MVC QueryString
操纵。使用强类型视图,不要搞Request
本身。
感谢您的回答。我必须根据他们正在查看哪些“动态生成”的“表单”来在按钮上放置某些类。所以我想不出任何其他方式来做到这一点,因为通过查询字符串 – TheDizzle
生成表单啊,我明白了。但可能是你会想到其他产生形式的方式?我看不到你满的情况,但maby'EditorTemplates'可以适合你的情况吗?你想要做的事情真的很混乱。 –
依赖查询字符串的一个明显问题是,它们可以很容易地被恶意(甚至只是好奇)的最终用户操纵,尽管我确信这不言而喻... – user2366842
我对razor视图不太熟悉,但是我认为它更像'Request.QueryString [“Type”] ==“1”和Request.QueryString [“Assigned”] == “1”'。您不能检查整个查询字符串,而是检查每个单独参数的值。编辑:它看起来像有人打我回答一拳。 – user2366842