如何使用c#知道查询字符串的参数名称

时间:2014-07-02 13:30:12

标签: c# asp.net

我正在使用一个带有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
} 

如果我能做到这一点,请告诉我。提前致谢。

2 个答案:

答案 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
}