我正在使用一个带有2个参数name / DOB和id的查询字符串,其中第一个参数名称根据DOB的必要性而变化,即;或者它可以同时是名称或DOB,现在我想根据参数名称做一些事情,我该如何实现呢。
例如,这是网址www.example.com/detail.aspx?name=john&id=10
,可能是www.example.com/detail.aspx?DOB=10/01/2009?id=10
伪代码是这样的
if(first parameter name == "DOB")
{
// do something
}
如果我能做到这一点,请告诉我。提前致谢。
答案 0 :(得分:3)
您可以使用Request.QueryString.AllKeys[0]
获取第一个查询字符串键。有关详细信息,请参阅NameValueCollection.AllKeys on MSDN。
顺便说一句,按照任何特定顺序依赖查询字符串可能是一个糟糕的设计。相反,检查查询字符串参数,如...
if(!String.IsNullOrEmpty(Request.QueryString["DOB"])
{
//QS contains DB, now make sure it's a valid value
}
答案 1 :(得分:0)
Querystring有一组密钥,您可以使用以下代码
if(Request.QueryString.AllKeys.FirstOrDefault() == "DOB")
{
// do something
}
或者,您可以使用Contains
查看查询字符串是否具有所需的键,而不一定是第一个。
if(Request.QueryString.AllKeys.Contains("DOB"))
{
// do something
}