как добавить ссылку на диспетчер скриптов главной страницы, из пользовательского элемента управления? - PullRequest
2 голосов
/ 11 октября 2011

У меня есть ScriptManager, который добавляется на мою MasterPage;

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

У меня есть веб-элемент управления, который размещается на главной странице.

Внутри пользовательского веб-элемента управления яЯ хотел бы использовать PageMethods, но жалуется, что PageMethods не определен.

 function ddlSqlConnections_SelectedIndexChange(selectedValue) {

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

Я добавил новый ScriptManager в пользовательский элемент управления и пожаловался, что на одной странице может существовать только один скрипт-менеджер, поэтому

в основном, как добавить ссылку на диспетчер сценариев главной страницы из пользовательского элемента управления?

Это кажется невозможным?

Спасибо,

Ответы [ 3 ]

0 голосов
/ 12 октября 2011

Я пришел к выводу, что это невозможно при использовании метода страницы управления веб-пользователями, и вместо этого я использовал 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.')                    
                }
            });
        });
0 голосов
/ 12 октября 2011

Вы можете попытаться вызвать метод на своей мастер-странице из пользовательского контроля.

 Page.GetType().InvokeMember("MethodName", BindingFlags.InvokeMethod, null, this.Page, new object[] { });
0 голосов
/ 11 октября 2011

Используйте обычный ScriptManager вместо RadScriptManager:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...