2009-07-27 17 views
0

ソリューションに2つのASP.Netアプリケーションがあります。 1つは、プライマリアプリケーションにデータをPOSTするサードパーティ製アプリケーションのテストハーネスです。私は、基本的な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のWebフォームでのクロスドメインの投稿を行うための方法はありますか?同じドメインでは動作しますが、何らかの理由で異なるドメインでは動作しません。

答えて

0

最も簡単な方法は、なしにrunat =「server」を使用して属性非サーバー側に<フォーム>すなわちを使用することで、ちょうどあなたがに投稿したいURLにアクション属性を設定します:

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

これが役に立ちます。

+0

私はこれを最初に試して、Request.Formsコレクションはまだ空に戻りました。 – JamesEggers

+0

FirebugのNetパネルやBurp Suite(http://www.portswigger)に付属しているようなプロキシサーバーなど、POSTデータで送信されているものを正確に見るために、HTTPレベルでリクエストを追跡する価値があります.net/suite /)はこれを助けるべきです。 –

関連する問題