NameValueCollection到底是个啥?NameValueCollection到底是个啥?

解决方案 »

  1.   

    就是一个哈希表一样的东西,包括一般名称,一个值。在web上经常看到,比如:
    HTTP 请求消息头部实例: 
    Host:rss.sina.com.cn 
    User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404  Firefox/2.0.0.14 
    Accept: text/xml,application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8,image/png,*/*; q=0.5 
    Accept-Language:zh-cn,zh;q=0.5 
    Accept-Encoding:gzip,deflate 
    Accept-Charset:gb2312,utf-8;q=0.7,*;q=0.7 
    Keep-Alive:300 
    Connection:keep-alive 
    Cookie:userId=C5bYpXrimdmsiQmsBPnE1Vn8ZQmdWSm3WRlEB3vRwTnRtW <-- Cookie  
    If-Modified-Since:Sun, 01 Jun 2008 12:05:30 GMT 
    Cache-Control:max-age=0 :左边的是"name"
    : 右边的叫“value”
    因为左边这些东西,是一些唯一,并且可选的东西。右边的是可以变的东西
      

  2.   

    我补充下
    B/S中常用来处理url参数
      

  3.   


     //处理URL参数
            private string BuildUrlString(NameValueCollection urlParams)
            {
                NameValueCollection newCol = new NameValueCollection(urlParams);
                NameValueCollection col = new NameValueCollection();
                string[] newColKeys = newCol.AllKeys;
                int i;
                for (i = 0; i < newColKeys.Length; i++)
                {
                    if (newColKeys[i] != null)
                    {
                        newColKeys[i] = newColKeys[i].ToLower();
                    }
                }
                StringBuilder sb = new StringBuilder();
                for (i = 0; i < newCol.Count; i++)
                {
                    if (newColKeys[i] != "page")
                    {
                        sb.Append(newColKeys[i]);
                        sb.Append("=");
                        sb.Append(Page.Server.UrlEncode(newCol[i]));
                        sb.Append("&");
                    }
                }
                return sb.ToString();
            }这里的urlParams参数 可以传递 Request.QueryString