2011-10-27 5 views
0

Response.Redirectを使用しているときに以下の警告ボックスが表示されますが、すべての条件が成功した後にページを変更するにはサーバー側コードで必要になります。Response.RedirectがAJAXで動作していない

どうすればこの問題を解決できますか?

エラー:あなたはAJAXリクエストを送信すると

sys.webforms.pagerequestmanagerparseerrorexception: The message received from the server could not be parsed. Common casuse s for this error are when the response is modified by calls to response.write(), response filters, httpmodules, or server trace is enabled. details: Error parsing near

<!DocType html PUB'. 
+0

あなたのページのaspxマークアップとあなたが呼び出しているコードをajaxリクエストから提供できますか?私たちはより良い仕事をすることができますか? –

答えて

1

は、あなたのweb.configファイルに次のScriptModuleを追加し、あなたがのUpdatePanelを使用していると仮定すると:

<httpModules> 
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
</httpModules> 

あなたの他のオプションは、やってコントロールを登録することですポストバック制御としてのリダイレクトUpdatePanelでは、PostBackTriggerを追加することでこれを行うことができます。

ScriptManager.GetCurrent(Page).RegisterPostBackControl(Button1); 
+0

ありがとう!これは私のために働いた。 –

+0

ジェームスあなたはこれに答えることができますhttp://stackoverflow.com/questions/8839401/ajax-not-working-in-asp-net –

1

は、あなたがリダイレクトするためのURLとなりますAJAXの応答を受信する必要があります。次に、javascriptを使用してリダイレクトします:Location.href =。この例のように

 $.post(
      "http://dummysite.com/Request", 
      parameters, 
      function (response) { 
       location.href = response.returnedUrl; 
      }, 
      'json'); 
+0

私は理解できませんでしたあなたは少し明確にしてください。 'Current_Page's'' Button_Click'のために何を書くべきか、あなたはAJAXが私の応答を受け取るべきだと言ったように。 'Destination_Page's''' Page_Load'で何を書くべきですか? –

+0

彼はJQuery AJAXを使用していないようですが、一般的にあなたは正しいです。 –

+0

@MartijnB - はい!リダイレクトするには、単純なサーバー側のASP.NETコードが必要です。 –