2010-12-13 4 views
4

У меня есть сетка DevExpress, которую нужно обновлять каждый раз при изменении значения в combobox. Например, у меня есть combobox, который устанавливает размер страницы сетки. Одним из требований является то, что combobox не вызывает полной обратной передачи.Сетка девекспресса - PerformCallback генерирует недопустимое состояние просмотра

Поле со списком объявляется следующим образом:

<asp:DropDownList ID="cboPages" AutoPostBack="false" runat="server" 
EnableViewState="false" OnSelectedIndexChanged="cboPages_SelectedIndexChanged" /> 

На выбранный индекс изменился, он устанавливает куки, значение которого выбранное значение. При изменении значения ComboBox, A Javascript функции вызывается:

function PerformCallbackOnGrid(grid) { 
    try { 
     grid.PerformCallback("refresh"); 
    } 
    catch(err){ 
     alert('Could not perform callback on grid.'); 
    } 
} 

Функция прикрепляется в коде позади:

this.cboPages.Attributes["onChange"] = "PerformCallbackOnGrid(" + this.GridClientID + ")"; 

После выполнения этих шагов:

  1. пользователя изменяет сетку размер страницы с помощью combobox, поэтому PerformCallback вызывается хотя бы один раз.
  2. Пользователь нажимает F5 (обновляется).
  3. Пользователь пытается снова изменить размер страницы.

появляется сообщение об ошибке «Недействительный просмотр в представлении».

Я попытался установить ViewStateMode для Disabled для сетки, также EnableViewState = "false".

ответ

3

Фигурируйте его самостоятельно! По-видимому, этого было достаточно, чтобы установить

EnableViewState="false" EnableRowsCache="false" 

к сетке.

Кэш строк относится к той, которая вызывает ошибку viewstate.

 Смежные вопросы

  • Нет связанных вопросов^_^