У меня очень сложное приложение Asp.NET 4.0, с определенной формой, созданной с помощью Telerik RadControls.
Существует RadGrid со вложенным RadGrid, со строками, состоящими из различных текстовых блоков (RadTextBox и т. Д.)).
Эта форма ОГРОМНА, и когда она увеличивается, если я публикую страницу (асинхронную или нет), я получаю сообщение об ошибке внутри Application_BeginRequest , стек:
in System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
in System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
in System.Web.HttpRequest.FillInFormCollection()
Я знаю, что в веб-форме есть ограничение в 1000 элементов, и я знаю, что этот предел можно настроить через web.config.
Мне НЕ нужно публиковать эти элементы управления: я использовалих, чтобы включить клиентские функции элементов управления Telerik, поэтому мне интересно: есть способ специально удалить элемент управления или набор элементов управления из коллекции HttpValueCollection, чтобы уменьшить количество элементов?
Многиеспасибо!
ОБНОВЛЕНИЕ : Как подсказывает @Alex, я реализовал функцию отключения всех входов внутри моей сетки:
function disableAllGridsControls() {
$("input[id*=gridServiziCommessa]").attr("disabled", "disabled");
}
, это решает проблему сстандартный постбакк, НО не с обновлением ajax.Сетка Ajaxified с помощью элемента управления Telerik под названием RadAjaxManager, который расширяет стандарт ASP.NET Ajax.Этот элемент управления выставляет событие BeginRequest , поэтому я пытаюсь вызвать disableAllGridsControls во время этого события:
function ajaxManager_beginRequest(sender, args) {
disableAllGridsControls();
}
, но просто не работает ... глядя на фиддлер Я все еще вижуВСЕ ВХОДЫ, опубликованные во время вызова AJAX ....
И есть еще одно странное поведение: если я отключу сетку на стороне сервера (Enabled = "False") и сделаю вызов AJAX, входные данные будут опубликованы в любом случае.
Что мне не хватает?
UPDATE2 Хорошо, я уверен, что проблема заключается в платформе MicrosoftAjax или в RadAjaxManager, который основан на ней.,Кажется, что коллекция параметров, созданная для выполнения ajax-запроса, игнорирует тот факт, что входы отключены ... странно ...