2

MasterPage に追加された ScriptManager があります。

 <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="true" />

マスター ページに配置された Web ユーザー コントロールがあります。

Web ユーザー コントロール内で PageMethods を使用したいのですが、PageMethods が定義されていないと不平を言います。

 function ddlSqlConnections_SelectedIndexChange(selectedValue) {

        PageMethods.OnSelectedIndexChanged(selectedValue);
        location.reload(true);
    }

ユーザー コントロールに新しい ScriptManager を追加したところ、1 つのページに 1 つのスクリプト マネージャーしか存在できないと不平を言われたので、

基本的に、ユーザー コントロールからマスター ページ スクリプト マネージャーへの参照を追加する方法は?

ありえないような?

ありがとう、

4

3 に答える 3

0

私の結論は、Webユーザーコントロールページメソッドでは不可能であり、代わりにWebサービスでAJAXを使用したということでした。

$('.ddlSqlConnections').change(function (control) {

            var selectedValue = control.currentTarget.value;            
            if (selectedValue == 0) {
                return;
            }

            $.ajax({
                type: "POST",
                url: "AdminService.asmx/AdminConnectionsOnSelectedIndexChanged",
                data: "{uniqueName: " + selectedValue + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {                                        
                    location.reload(true);
                },
                error: function (msg) {
                    alert('failed to send a web service request; please contact the administrator.')                    
                }
            });
        });
于 2011-10-12T10:45:04.590 に答える
0

ScriptManagerの代わりに通常のを使用しRadScriptManagerます。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
于 2011-10-11T15:58:13.917 に答える
0

ユーザーコントロールからマスターページのメソッドを呼び出すことができます。

 Page.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod, null, this.Page, new object[] { });
于 2011-10-12T10:57:43.933 に答える