Databinding HttpWebRequest - StreamReader

本文关键字:StreamReader HttpWebRequest Databinding | 更新日期: 2023-09-27 17:57:05

需要一些建议。我已经设置了以下 HttpWebRequest,它转到另一台服务器并以 htnl 格式从那里检索数据 - 但我可以将其更改为另一个结构。

我想做的是从那里对数据进行数据绑定,并在我的网站上使用中继器和列表控件很好地呈现它。

我在下面有大部分代码。我需要问的问题是,我能否按照设置的方式对响应数据对象进行数据绑定。其次,我可以配置另一端的页面以生成大多数格式的输出。如果我有客户姓名,联系人,电话,电子邮件,我应该如何呈现结构,以便我可以将其用作数据绑定对象?

希望这个问题有意义。一如既往的感谢

    string url = "https://myaddress/customerlist.php";
    // creates the post data for the POST request
    string postData = "ID=" + username + "&Token=" + token;
    // create the POST request
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Method = "POST";
    webRequest.ContentType = "application/x-www-form-urlencoded";
    webRequest.ContentLength = postData.Length;
    // POST the data
    using (StreamWriter requestWriter2 = new StreamWriter(webRequest.GetRequestStream()))
    {
        requestWriter2.Write(postData);
    }
    //  This actually does the request and gets the response back
    HttpWebResponse resp = (HttpWebResponse)webRequest.GetResponse();
    string responseData = string.Empty;
    using (StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream()))
    {
        // dumps the HTML from the response into a string variable
        responseData = responseReader.ReadToEnd();
    }
    ReportRepeater.DataSource = responseData;
    ReportRepeater.DataBind();

Databinding HttpWebRequest - StreamReader

您应该在自定义对象列表中转换responseData,以便将其绑定到中继器

IList<Contact> contacts = ParseResponse(responseData);
ReportRepeater.DataSource = contacts;
ReportRepeater.DataBind();

其中 ParseResponse 是一个自定义方法,如下所示:

IList<Contact> ParseResponse(string response)
{
   var rtn = new List<Contact>();
   //some loop to create contacts
   //rtn.Add(newContact);
   return rtn;
}

关于如何使用中继器的良好解释:http://msdn.microsoft.com/en-us/magazine/cc163780.aspx