2016-04-20 97 views
1

我在一個解決方案中有2個項目(例如項目A和項目B)。從另一個aspx頁面取出xml頁面

項目B - default.aspx頁面在加載函數中有下面的代碼,它返回的是xml。

protected void Page_Load(object sender, System.EventArgs e) 
{ 
    Response.ContentType = "text/xml"; 
    string xmlData; 

    xmlData = BuildXmlData(); 
    Response.Write(xmlData); 
} 

現在,我有項目A上的按鈕 - default.aspx頁面。我想從項目A default.aspx頁面的按鈕單擊中獲取該XML數據(來自項目B default.aspx頁面加載功能)。我希望你瞭解這種情況。請告訴我們該怎麼做?

PS:我試過server.execute,但它返回的原始html。

回答

0

你可以處理它的服務器端:

 WebRequest request = WebRequest.Create("http://www.projectB.com"); 
     request.Proxy = null;  

     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     Stream stream = response.GetResponseStream(); 

在客戶方的JavaScript,你將不得不去一個Ajax調用

+0

我們可以使用虛擬路徑,而不是網站的網址?因爲這兩個應用程序都在IIS中託管並具有相同的解 –

+0

不,因爲您想要從正在另一個進程上運行的projectB獲取信息。如果你想這樣做,你應該有一個Web應用程序。但是,然後通過HTTP獲取XML將毫無意義,因爲您可以從磁盤讀取xml。 –

+0

因此,如果您想要在不同位置分離Web應用程序,則需要將其作爲http請求處理。如果兩個web應用程序始終運行在同一臺服務器上,請考慮共享xml文件並從磁盤讀取它 –