SharePoint 2010 サイトを改善しようとしていますが、PageMethod の呼び出しに問題があります。実行しようとしているスクリプトは次のとおりです。
<script type="text/javascript">
function BindingTitle() {
alert("number one");
PageMethods.BindTitle(OnSucceeded, OnFailed);
alert("number two");
}
function OnSucceeded(result, userContext, methodName) {
alert("it worked!");
}
function OnFailed(error, userContext, methodName) {
alert("it didn't work!");
alert(error);
}
</script>
スクリプトに関連付けられたコントロールはテーブル内にありますが、簡潔にするために、次のようになります。
<table>
<thead>
<tr>
<th onclick="BindingTitle()"> alsdjlfajlskdjfla</th> //this is the control
</tr>
</thead>
</table>
コード ビハインドに配置された Web メソッドは次のようになります。
[WebMethod()]
public static void BindTitle()
{
Console.WriteLine("things are happening");
}
スクリプトの行「PageMethods.BindTitle(OnSucceeded, OnFailed) が実行されていません。コントロールをクリックすると、「1 番」というアラートが表示されますが、「2 番」は表示されません (ページ メソッドがコメント アウトされている場合)。 , それはあります). 私が考えることができる唯一のことは、これの原因はスクリプト マネージャーです. それは私が変更したくないものであるこのパッケージのマスター ページで宣言されています. しかし、スクリプト マネージャーが使用されています.スクリプト マネージャーの定義は次のようになります。
<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="true" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" />
自分のページでこのスクリプト マネージャーを無効にして、独自のより単純なスクリプト マネージャーを宣言する方法はありますか? また、これはかなり大きなサイトであり、以前に宣言されたスクリプト マネージャーに依存するページがいくつかあることにも注意してください。これらのサイトのコードのほとんどは非常に乱雑で、この会社で働いていない人によって書かれています。これは、変更後に必要なテストとデバッグの量が多いため、他のページに影響を与える可能性のあるいくつかの変更は、私の利用可能な時間では実行できないことを明確にするためです。
もし私が何かを忘れていたら、私に知らせてください!ありがとう!