Asp.net 如何从用户控件添加对母版页脚本管理器的引用?

Asp.net 如何从用户控件添加对母版页脚本管理器的引用?,asp.net,ajax,pagemethods,webusercontrol,Asp.net,Ajax,Pagemethods,Webusercontrol,我有一个ScriptManager,它被添加到我的母版页中 <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="true" /> 我向用户控件添加了一个新的ScriptManager,它抱怨一个页面上只能存在一个ScriptManager,所以 基本上,如何从用户控件添加对母版页脚本管理器的引用 这似乎不可能 谢谢,使用常规ScriptManager而不是RadScr

我有一个ScriptManager,它被添加到我的母版页中

 <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="true" />
我向用户控件添加了一个新的ScriptManager,它抱怨一个页面上只能存在一个ScriptManager,所以

基本上,如何从用户控件添加对母版页脚本管理器的引用

这似乎不可能

谢谢,

使用常规ScriptManager而不是RadScriptManager:

使用常规ScriptManager而不是RadScriptManager:


我的结论是,使用Web用户控制页方法是不可能的,而我使用AJAX和Web服务:

$('.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.')                    
                }
            });
        });

我的结论是,使用Web用户控制页方法是不可能的,而我使用AJAX和Web服务:

$('.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.')                    
                }
            });
        });

您可以尝试从userconrol调用母版页中的方法

 Page.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod, null, this.Page, new object[] { });

您可以尝试从userconrol调用母版页中的方法

 Page.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod, null, this.Page, new object[] { });

这没什么区别。您是否在代码隐藏中向方法添加了WebMethod属性?是的。这不符合方法。就像我说的,它抱怨没有定义PageMethods。这没有什么区别。你是否在代码隐藏中向方法添加了WebMethod属性?是的。这不符合方法。就像我说的,它抱怨PageMethods没有定义。如果母版页中有ScripteManager,则不需要在用户控件中添加任何内容。只需确保ScriptManager在用户控件之前加载。如果母版页中有ScriptManager,则不需要在用户控件中加载任何内容。只需确保在Usercontrol之前加载ScriptManager。