Я знаю, что это довольно тривиальный вопрос, но во всяком случае я хочу знать, разрешимо ли оно.AjaxToolkit AsyncFileUpload необходимо включить ViewStateMode, как этого избежать?
У меня есть веб-страница ASP.NET с вложенной главной страницей и включает JavaScript. Я широко использую вызовы jQuery и Ajax. После загрузки страницы вся связь с сервером выполняется с помощью вызовов Ajax, поэтому мне не требуется ViewState, и это приводит к сокращению кода вывода HTML.
Теперь я должен реализовать страницу, где пользователь может загрузить файл. Поэтому я использовал элемент управления AsyncFileUpload для AjaxToolkitFileUpload. Как только файл загружается, я вызываю Ajax-вызов на сервер, чтобы запросить имя файла.
Все работает нормально, но я заметил, что FireBug обнаружил 10 ошибок на загрузку файла между событиями OnClientUploadStarted и OnClientUploadComplete. Файл загружен правильно, и события на стороне клиента тоже работают. Но я не могу игнорировать тот факт, что есть ошибки, и я пошел искать проблему.
Я перестраиваю страницу по частям, и я узнал, что этому элементу управления необходимо включить ViewState. Однако с viewstate = отключен в директиве страницы размер файла 76.6kb, а с viewstate = enabled размер 99.2kb.
Опять же, я знаю, что это тривиально и не повлияет на производительность на сайте, но это приятно знать.
- Почему этот элемент управления нуждается в представлении? (Я полагаю, потому что он фактически отправляет файл в iFrame или что-то в этом роде?)
- Как я могу уменьшить область просмотра и позволить этому элементу управления работать нормально?