2009-03-04 7 views
1

asp.net 2.0でasp.net ajaxバージョン1.0を使用しています。 (まだ3.5にアップグレードできません)PageMethodはUpdatePanelをページに追加した後に呼び出されなくなりました

私はJavascriptによって呼び出されるPageMethodを持っていました。これはページの別の部分にUpdatePanelを追加するまで完全に機能しました。今すぐデバッグをオンにしてページを実行するpagemethodのブレークポイントは呼び出されません。 PageMethodへのポストが呼び出されたときに返されるものをファイヤーバグで見ると、呼び出し値の代わりにaspxページ全体が返されることがわかりました。私が何をした?ここ

はPageMethodのJavaScript呼び出しである:

function EndRequestHandler(sender, args) { 
    $('#selectedCHK').change(
     function() { 
      var chkedInput = $('#selectedCHK'); 
      var networkRead = chkedInput[0].checked; 
      PageMethods.ChangeSelectedNetworkReadFlag(routeNum, 
                 networkRead, 
                 function(msg) { alert(msg); }); 
     } 
    ); 
} 
$(document).ready(function() { 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
} 

各リクエストの終了時に呼び出されるEndRequestHandler機能を有する点は、IDと「#selectedCHK」アイテムが更新パネルの内側にあることですUpdatePanelがリフレッシュされるたびにイベントが設定される必要があります。

+0

ページメソッドがどこから呼び出され、どのように呼び出されるかについて少し詳しく説明できますか?たぶんコードサンプルですか? @Andrew; –

+0

;アドバイスをいただき、ありがとうございました。コードを追加しました。 – minty

答えて

1

これはわかりましたが、構成上の問題でした。

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

を<のsystem.web >セクション内:具体的に私は追加する必要がありました。

私はサイトを適切に設定したと思っていましたが、私はステップバイステップでdocumentationを通過することに決めました。

1

アップデートパネルでupdatemodeを条件付きに設定してみてください。更新パネルのようなサウンドがあなたのイベントをハイジャックしています。

<asp:UpdatePanel ID="upMyPanel" UpdateMode="Conditional" runat="server"> 
+0

@RSolbergにありがとう、私はUpdateModeについて知りませんでした。 – minty

関連する問題