.aspx работает, но .ascx нет ... почему и как это исправить? - PullRequest
0 голосов
/ 14 октября 2011

Я хочу поместить веб-элемент управления ASTreeView в пользовательский веб-элемент управления, пример кода ASTreeView выглядит следующим образом:

<ct:ASTreeView ID="astvMyTree" 
                    runat="server"
                    ...
                    LoadNodesProvider="~/ASTreeViewDemo5.aspx"

                    .../>

LoadNodesProvider - это страница ajax, вызываемая при загрузке узла ... однако, если я изменилпровайдер моего файла .ascx, он не работает:

LoadNodesProvider="~/ASTreeViewDemo5.ascx"

он даже не прошел через часть Page_Load файла .ascx. Хотя это может быть связано с самим astreeview, мне интересно, чтопроблема может быть?что я могу сделать, чтобы это исправить?Спасибо!

Ответы [ 4 ]

4 голосов
/ 14 октября 2011

ASPX - это страница, а ASCX - это пользовательский контроль.Вы не можете ajax вызвать элемент управления, поэтому вы, вероятно, хотите, чтобы это была страница с элементом управления.

4 голосов
/ 14 октября 2011

Это потому, что ascx должен иметь контейнер, т. Е. Page. Вы не можете использовать его так же, как Page.

1 голос
/ 14 октября 2011

Хотя мне не совсем понятно, что должен делать LoadNodesProvider, если вы хотите инкапсулировать некоторый код или запустить процесс через AJAX, у вас есть несколько вариантов. Можно было бы создать веб-сервис (для этого можно было бы использовать WCF), который мог бы вызывать метод AJAX. Другой вариант - создать обработчик http (расширение ASHX обычно обозначает это). Использование ASPX или ASCX для этого не имеет большого смысла для меня. Proco и Tomas верны в отношении файла ASCX, это пользовательский контроль и не отдельные объекты.

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

Если вы действительно хотите использовать элемент управления ASPX-страницу / ASCX, то я полагаю, что было бы лучше создать пустую страницу ASPX с одним заполнителем, а затем подключить пользовательский элемент управления (на основе параметров строки запроса или чего-то еще).Я полагаю) заполнителю для вывода содержимого для вашего элемента управления AJAX

...