2013-02-01 20 views
0

需要一些建議。我已經設置了以下HttpWebRequest,它轉到另一個服務器並以htnl格式從那裏檢索數據 - 但我可以將其更改爲另一個structre。數據綁定HttpWebRequest - StreamReader

我想要做的是數據綁定從那裏數據,並使用轉發器和在我的網站列表控件很好出示。

我來到這裏最下方的代碼。我需要問的問題是,我可以按照我設置的方式來綁定我的responseData對象。其次,我可以在另一端配置頁面以產生大多數格式的輸出。如果我有客戶名,聯繫人,電話,電子郵件,我應該如何呈現結構明智的信息,以便我可以將其用作數據綁定對象?

希望這個問題有道理。感謝一如既往

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(); 

回答

0

你應該以它綁定到中繼器

IList<Contact> contacts = ParseResponse(responseData); 

ReportRepeater.DataSource = contacts; 
ReportRepeater.DataBind(); 

哪裏ParseResponse就是這樣一個自定義的方法變換responseData在自定義對象的列表:

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

+0

謝謝,將在文章上閱讀。剛剛創建了我的聯繫人類,但我無法找出ParseResponse命令。我不知道要使用哪個命名空間,還是自定義? – JK36

+0

PasrseResponse是你應該實現的方法來創建IList – giammin

+0

@ JK36的任何消息嗎? – giammin