2009-09-23 5 views
2

В веб-приложении ASP.NET у меня есть страница с панелью обновлений. В этой панели обновления пользователь может щелкнуть значок, чтобы добавить или удалить элементы управления в ретранслятор.Длина запроса увеличивается каждый раз при обновлении обновляемой панели

Я установил точку останова на странице. Загрузить пакет обновления и проверил HttpContext.Current.Request.ContentLength каждый раз, когда используется панель обновления. Запрос увеличивается в размере каждый раз, когда запрос отправляется.

Самое смешное, что он даже увеличивается в размере, когда пользователь удаляет элементы управления (так что страница становится «легче»).

В конце концов, это дает мне следующую ошибку: максимальная длина запроса.

Решения вокруг Интернета предлагают увеличить максимальную длину RequestLength. Это не вариант, потому что я все равно доберусь до максимума.

Я даже заметил, что длина запроса увеличивается экспоненциально.

У кого-то был такой же опыт?

ответ

2

Вы, вероятно, постоянно добавляете атрибуты своим элементам управления. Что-то вроде на странице_prerender buttonSave.Attributes ("onclick") + = "this.className = 'buttonhide';"

+0

Это действительно так. Каждый раз, когда была частичная обратная передача, мы добавляли некоторые атрибуты к одному из наших элементов управления, что делало его все больше и больше. И это также сделало viewstate все больше и больше, что, в свою очередь, сделало запрос больше. – Peter

1

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

0

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