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();
您应该在自定义对象列表中转换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