int page = 13;
        string url = Request.Url.ToString();
        // url 可能是http://localhost:86/default.aspx?p=1
        // url 可能是http://localhost:86/default.aspx
        // url 可能是http://localhost:86/default.aspx?p=1&k=hello
        // url 可能是http://localhost:86/default.aspx?k=hello&p=1&t=1
        //我想把page插入到URL 的 参数 p=后面。
        string urlNew = "";
        if (Request.QueryString["p"] != null)
            urlNew = url;        else
            urlNew = url;
            Response.Write(string.Format("下一页是<br />{0}<br /><br />", urlNew.ToString()));

解决方案 »

  1.   

    你就直接判断下URL有没有带参数,然后直接将Page加在后面就好了
      

  2.   


                int page = 13;
                string url = "http://localhost:86/default.aspx";
                Uri uri = new Uri(url);
                NameValueCollection nvc = HttpUtility.ParseQueryString(new Uri(url).Query);
                string query = "?";
                string newUrl = "";
                if (nvc.Keys.Count == 0)
                    newUrl = url + "?p=" + page;
                else
                {
                    nvc["p"] = page.ToString();
                    foreach (string s in nvc.Keys)
                    {
                        query += s + "=" + nvc[s] + "&";
                    }
                    newUrl = url.Replace(uri.Query, query.TrimEnd('&'));
                }
                Console.WriteLine(newUrl);