问题如下:
我申明了一个url对象
Uri objuri=new Uri("www.111.com?id=dd");
我现在想把这个Uri对象放在一个HttpRequest对象中  然后用 
HttpRequest对象的QueryString方法来获取id的值吗

解决方案 »

  1.   

    to 我现在想把这个Uri对象放在一个HttpRequest对象中 然后用
    HttpRequest对象的QueryString方法来获取id的值吗调用端,还是服务器端?前者没必要,直接用正则式分析url即可获得
    后者没问题。
      

  2.   

    Request.QueryString["id"]就可以了。。
    uri没用
      

  3.   

    是服器端   问题已经搞定了  不过提到正则  能给出个例子吗
    其实就可以看成一把一个字符串  ?号后面的取出来   ?号很面的可能性很多的
    比如个是?a=11&b=22 或者aa=11 或者aa=11&bb=11
      

  4.   

    Regex regex=new Regex(@"www.111.com\?(.*)");
    regex.Match(address).Group[1];
      

  5.   

    楼上的表达式:
    Regex regex=new Regex(@"www.111.com\?(.*)");
    regex.Match(address).Group[1];不太适用,不灵活,如果是在网页里面提取,那么就不太合适了。
      

  6.   

    Regex regex=new Regex(@"^(http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-                        Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*$");
    regex.Match(address).Group[1];
      

  7.   

    我现在想把这个Uri对象放在一个HttpRequest对象中  然后用 
    HttpRequest对象的QueryString方法来获取id的值吗
    ==============================================
    肯定可以
      

  8.   

    我还是这样解决的
    public static string GetFindString(Uri uri)
    {
    HttpRequest Hr=new HttpRequest("",uri.AbsoluteUri.ToString(),System.Web.HttpUtility.UrlDecode(uri.Query.ToString().Substring(1),System.Text.Encoding.UTF8));
    if(Hr.QueryString["lp"]==null)
    {
    return Hr.QueryString["p"].ToString();
    }
    return Hr.QueryString["lp"].ToString();
    }
      

  9.   

    假如  uri=www.aa.com?a=1&b=2&c=3
    正则能直接取到a或者b或者c的值吗
      

  10.   

    string uri=@"www.aa.com?a=1&b=2&c=3";
                MatchCollection mc=Regex.Matches(uri,@"(?<=[?&])(?:(?<name>\w*?)=(?<value>\w*?))*?(?=[&#]|$)");
                foreach(Match m in mc){   Console.WriteLine(m.Groups["name"].Value+">------<"+m.Groups["value"].Value);
                }
      

  11.   

    假如  uri=www.aa.com?a=1&b=2&c=3
    正则能直接取到a或者b或者c的值吗=====================================
    可以