AjaxToolkit AsyncFileUpload необходимо включить ViewStateMode, как избежать? - PullRequest
0 голосов
/ 29 марта 2012

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

У меня есть страница веб-формы ASP.NET с вложенной главной страницей и JavaScript.Я широко использую вызовы jQuery и Ajax.После загрузки страницы все взаимодействие с сервером осуществляется с помощью вызовов Ajax, поэтому мне не нужно включать ViewState, и это приводит к уменьшению выходного кода HTML.

Теперь мне нужно реализовать страницугде пользователь может загрузить файл.Поэтому я использовал элемент управления AsyncFileUpload для AjaxToolkitFileUpload.Как только файл загружен, я выполняю Ajax-запрос к серверу, чтобы запросить имя файла.

Все работает нормально, но я заметил, что FireBug обнаружил 10 ошибок на загрузку файла между событиями OnClientUploadStarted и OnClientUploadComplete.Файл загружен правильно, и события на стороне клиента тоже работают.Но я не могу игнорировать тот факт, что возникают ошибки, поэтому я начал искать проблему.

Я перестраивал страницу по частям и обнаружил, что для этого элемента управления необходимо включить Viewstate.Однако при viewstate = отключено в директиве страницы размер файла составляет 76,6 КБ, а при viewstate = включено размер составляет 99,2 КБ.

Опять же, я знаю, что это тривиально и не повлияет на производительность на сайте, но это приятно знать.- Зачем этому элементу управления нужен видовой режим?(Я полагаю, потому что это действительно отправить файл в iFrame или что-то в этом роде?)- Как я могу уменьшить viewstate и позволить этому элементу управления все еще работать должным образом?

1 Ответ

0 голосов
/ 07 июля 2012

Для уменьшения состояния просмотра и обеспечения правильной работы этого одного элемента управления вы можете использовать на своей странице оставленное состояние просмотра включенным и установить для ViewStateMode значение Отключено для страницы, а затем для ViewStateMode установлено значение Включено для одного. контроль, который нуждается в состоянии просмотра. Для всех остальных элементов управления они должны наследовать настройки родительского по умолчанию.

...