我对asp.net中的查询字符串有疑问:
带有查询字符串参数的标准查询字符串是"www.mysity.url?key1=value1&key2=value2"
,但我只需要检查是否有查询字符串键...是的,正确的决定之一:www.mysite.url?reset=true
,但这个多余的语法我
在标记中我使用类似"<a href='UrlHelper.GetResetUrl()'>Reset</a>"
的内容,此方法返回"www.mysity.url?reset"
,但在用户端标记中我有“重置”
答案 0 :(得分:3)
如果您没有指定参数的名称,则将其视为null
。
其值为reset
所以你必须按如下方式检查:
if(Request.QueryString[null]=="reset")
{
//Take some reset action
}
答案 1 :(得分:0)
处理查询字符串参数的所有代码都不区分大小写。浏览器(或互联网基础设施的一部分?)可以转换案例。
检查querystring中是否存在reset参数的一种方法:
bool reset = Request.Url.Query.IndexOf("reset", StringComparison.CurrentCultureIgnoreCase) > -1;
答案 2 :(得分:0)
快速而肮脏的解决方案是:
if(Request.Url.Query.Contains("?reset"))
{
// ok we have a reset
}
假设您有一个标准的重置调用,请询问:www.mysity.url?reset
并且重置URL没有其他参数。如果您有,可以简单地检查reset
关键字。
此代码HttpContext.Current.Request["reset"]
始终返回null,因此,如果您想使其变得更难,那么下一个最好的方法是在网址后手动分析您的密钥。