2009-07-27 73 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