2009-07-31 19 views
0

Ajaxを使用するいくつかのユーザーコントロールを持つページがあります。このページからresponse.redirectを実行しようとすると、Ajaxはコールをトラップし、リダイレクトを許可しません。Response.redirectがAjaxコントロールで動作しない

Ajaxページからresponse.redirectを実行するにはどうすればよいですか?

おかげで...あなたはユーザーコントロールを持っているどのくらいAJAXアクションを制御

+3

重複のhttpこれを追加:// stackoverflowの

jQueryを使って、それは次のようになります.com/questions/1215177 /。 –

答えて

0

?クライアント側を変更できる場合、JSONオブジェクトを返すのが最も簡単です。このオブジェクトを解析し、リダイレクトするURLをデータとして送信することができます。クライアント上でデータを取得したら、window.location.hrefをURLに設定するだけです。

$.ajax({ 
    url: '/some/url', 
    dataType: 'json', 
    type: 'post', 
    data: $('form').serialize(), 
    success: function(data) { 
     if (data.Redirect) { 
      window.location.href = data.Redirect; 
     } 
     else { 
     ...handle other responses... 
     } 
    } 
    ... more options... 
}); 
+0

私のすべてのコードはC#、ASP.NET 2.0です。私はJSONに慣れていません。 –

+0

JavaScriptSerializerを使用してJSONを作成するこのブログ記事をご覧ください:http://blogs.msdn.com/rakkimk/archive/2009/01/30/asp-net-json-serialization-and-deserialization.aspxシリアライズされたバージョンで返信してからResponse.Writeを使用する必要があるオブジェクトを定義するだけで済みます。 – tvanfosson

0

私は他の質問で述べたように:

があなたのweb.configファイルに

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

そのコードはすでに私のWeb.configにあります –

関連する問題