Что касается Ajax в UserControl - PullRequest
       33

Что касается Ajax в UserControl

0 голосов
/ 14 декабря 2010

Мы создали UserControl.Внутри пользовательского контроля мы создаем панель обновления.Внутри панели мы создаем различные элементы управления, такие как TextBox, Button, DropDownList и ListBox и связанные с ними события buttonclick (), DropDown_selectedIndexChanged (), TextBox_TextChenged () и т. Д. Все элементы управления (включая панель обновления) создаются программно с помощью c #.Чтобы изменить события, которые мы использовали, мы использовали ScriptManager.

ScriptManager добавлен в функцию OnInit программно, как показано ниже:

ScriptManager scriptManager = ScriptManager.GetCurrent(this.Page);
            if (scriptManager == null)
            {
                scriptManager = new ScriptManager();
                //scriptManager.EnablePartialRendering = true;
                this.Controls.AddAt(0,scriptManager);
            }

Каждый раз после загрузки страницы только одно событие получает частичную обратную передачу (желательно), но после этого событие не запускается.

Все действительные изменения уже внесены в файл web.config для AJAX.Пожалуйста, предложите возможную причину и решение проблемы.

1 Ответ

0 голосов
/ 14 декабря 2010

При частичной обратной передаче ScriptManager не будет добавлен, потому что вы пытаетесь добавить его за пределы UpdatePanel (где это должно быть). Это работает при загрузке первой страницы, потому что это не частичная обратная передача. Но после частичной обратной передачи динамически добавленный ScriptManager не будет доступен на странице, а поскольку вы пытаетесь добавить его за пределы UpdatePanel - AddAt(0,...) - после частичной обратной передачи, он фактически не будет добавлен. При частичной обратной передаче вы можете влиять только на вещи внутри UpdatePanel, которые инициировали обратную передачу.

Суть в том, что вы действительно не можете добавить ScriptManager динамически, так как он никогда не будет там после частичной обратной передачи. Точно так же, как вы не можете динамически добавить любой другой элемент управления за пределы UpdatePanel после события внутри него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...