Событие Page_Load динамически загружаемого пользовательского элемента управления не запускается из обработчика. Зачем? - PullRequest
0 голосов
/ 08 февраля 2010

У меня есть файл обработчика (.ashx), который я использую для обработки запросов. В зависимости от типа необходимого вывода, я хочу загрузить пользовательский элемент управления, который будет представлять данные в правильном формате.

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

Что стоит отметить, я могу создать экземпляр MyUC и назначить средства для его свойства Funds. Это событие загрузки, которое мне действительно нужно сделать с этим списком средств!

Это мой код, который не работает.

    private string GenerateList(IEnumerable<Fund> funds)
    {
        string html = "";

        Page page = new Page();

        MyUC myControl = (MyUC)page.LoadControl("MyUC.ascx");

        myControl.Funds = funds;

        myControl.Load += new EventHandler(myControl_Load);

        return html;
    }

Может кто-нибудь сказать мне, что я делаю не так? Как я могу исправить это?

Спасибо

Dave

1 Ответ

2 голосов
/ 08 февраля 2010

Вам необходимо добавить элемент управления Form HtmlForm для визуализации элементов управления обратной передачи, а затем выполнить страницу с помощью Server.Execute ()

Источники:

http://weblogs.asp.net/scottgu/archive/2006/10/22/Tip_2F00_Trick_3A00_-Cool-UI-Templating-Technique-to-use-with-ASP.NET-AJAX-for-non_2D00_UpdatePanel-scenarios.aspx

http://www.west -wind.com / Weblog / сообщений / 298307.aspx

...