Необходимо загрузить файл и использовать его в событии перед инициализацией - PullRequest
2 голосов
/ 03 сентября 2010

Как говорится, мне нужно загрузить файл, а затем использовать его в событии pre_init второй страницы.Жизненный цикл сервера предотвращает это (так как pre_init происходит до обработчиков событий), это нормально, поэтому единственный способ, который я вижу, - это использовать page1 для загрузки файла, а затем сделать response.redirect для page2, где я могу использовать файл вpre_init.Но это кажется а) оспариваемым, и б) необходимо, чтобы я передал загруженное имя файла на вторую страницу.

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

(мне нужно событие pre_init, чтобы добавить шаги в wizardcontrol и десериализовать файл, чтобы получить объекты для добавления к нему).

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 сентября 2010

Вы должны иметь возможность использовать Request.Files напрямую из pre_init:

protected void Page_PreInit(object sender, EventArgs e)
{
    HttpPostedFile file = Request.Files["IDOfFileUploadControl"];
}
0 голосов
/ 03 сентября 2010

Размещение на нескольких страницах выглядит как решение.Вы можете получить элемент управления FileUpload с предыдущей страницы следующим образом:

if (Page.PreviousPage != null)
{
    FileUpload prev = 
        (FileUpload)Page.PreviousPage.FindControl("FileUpload1");
    if (prev != null)
    {
        // Operations.
    }
}

Я не пробовал, работает ли он в событии Pre_Init, но стоит попробовать.

Для получения дополнительной информации о Cross-PageПроводка:

http://msdn.microsoft.com/en-us/library/ms178139.aspx

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