如何判断request.QueryString中是否存在参数?
比如:a.aspx?type=1&id=1 
我如何判断这个地址中是否有type 和id这两个参数,当然我这里指的不是它们的值,只是参数名.

解决方案 »

  1.   

    if (Request.QueryString["type"] != null)
    {
      // 存在 type 参数
    }
    if (Request.QueryString["id"] != null)
    {
      // 存在 id 参数
    }
      

  2.   

    额。。我是这样写的。。不知道哪个好        try
            { type= Request["type"].ToString(); }
            catch { }
      

  3.   

    2楼写法不好。不应为这种判断就是用try catch的。(个人想法)
      

  4.   

    int loop1, loop2;
     
    // 取得 QueryString “名字-值”集合
    NameValueCollection coll = Request.QueryString; // 将所有的名字放到字符串数组arr1
    String[] arr1 = coll.AllKeys; 
    for (loop1 = 0; loop1 < arr1.Length; loop1++) 
    {
       Response.Write("Key: " + Server.HtmlEncode(arr1[loop1]) + "<br>");
       String[] arr2 = coll.GetValues(arr1[loop1]);
       for (loop2 = 0; loop2 < arr2.Length; loop2++) 
       {
          Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");
       }
    }
       
      

  5.   

    1楼就可以,没必要try ,catch
      

  6.   

    NameValueCollection coll = Request.QueryString; // 将所有的名字放到字符串数组arr1
    String[] arr1 = coll.AllKeys; 
    这个可以
      

  7.   

    try ,catch这个还是少用吧,系统抛出异常时是比较耗资源的。只在有可能导致严重错误的地方用