假设我一个default.aspx当中使用了一个用户控件,又假设这个用户控件中需要根据传入的参数执行数据库查询以便展示
数据,那么一般来说,这样的参数,用户控件是如何得到的,跟宿主页中一样用request.querystring["id"]应该不行的吧?我想通过http请求default.aspx传入参数,比如?ID=9&....;之类,让用户控件获得这个参数执行查询,然后展现数据,
这个过程一般如何实现呢?

解决方案 »

  1.   

    用户控件定义属性
    public string test
    {
    get;set;
    }
    根据test查询数据
    在页面设置用户参数usercontrol.test="";
      

  2.   

    可以给控件添加属性,也可以直接用Context.Request.QueryString, UserControl本身也有一个HttpContext对象
      

  3.   

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);  //url为服务器地址 
                    byte[] requestBytes = System.Text.Encoding.Default.GetBytes("要POST的数据"); 
                    req.Method = "POST"; 
                    req.ContentType = "application/x-www-form-urlencoded"; 
                    req.ContentLength = requestBytes.Length; 
                    req.Timeout = 5000; 
                    try 
                    { 
                        Stream requestStream = req.GetRequestStream(); 
                        requestStream.Write(requestBytes, 0, requestBytes.Length); 
                        requestStream.Close(); 
                        HttpWebResponse res = (HttpWebResponse)req.GetResponse(); 
                        StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);                     string backstr = sr.ReadToEnd(); 
                        System.IO.File.WriteAllText(path, backstr);  //path为文件路径                     sr.Close(); 
                        res.Close(); 
                    } 
                    catch (Exception ee) 
                    {}