2009-07-27 55 views
0

我在解決方案中有2個ASP.Net應用程序。對於將數據發佈到主應用程序中的第三方應用程序來說,它幾乎是一個測試工具。我試圖通過做一個基本的HTML表單並設置動作指向主應用程序來模仿這個功能;但是,Request.Form NameValueCollection是空的。我嘗試使用307重定向在ASP.Net中執行此操作,但我遇到了同樣的問題。我暫時將臨時表格移到主項目中,以便繼續測試。ASP.Net中的跨域發佈失去了表單域

這裏是我用的是307重定向代碼:

Response.ClearContent(); 
Response.StatusCode = 307; 
Response.StatusDescription = "Temporary Redirect"; 
//redirect to a different app. 
Response.RedirectLocation = "http://localhost:xxxx/default.aspx"; 
Response.Flush(); 

有沒有辦法做跨域張貼在ASP.net網頁表單?它出於某種原因在相同的域中工作,但不在不同的域中。

回答

0

最簡單的方法是使用非服務器端<形式>即與沒有RUNAT =「服務器」屬性,只需設置行動屬性要張貼到URL :

<form method="post" action="http://localhost:xxxx/default.aspx"> 
    ... 
</form> 

希望這會有所幫助。

+0

我最初試過這個,Request.Forms集合仍然是空的。 – JamesEggers 2009-07-27 14:13:34

+0

可能值得跟蹤HTTP級別的請求,以準確查看POST數據中發送的內容 - Firebug的Net面板或代理服務器等工具,例如Burp Suite隨附的工具(http://www.portswigger .net/suite /)應該對此有所幫助。 – 2009-08-04 12:36:04