У меня есть сетка DevExpress, которую нужно обновлять каждый раз при изменении значения в выпадающем списке. Например, у меня есть поле со списком, который устанавливает размер страницы сетки. Одним из требований является то, что комбинированный список не вызывает полную обратную передачу.
Combobox объявлен так:
<asp:DropDownList ID="cboPages" AutoPostBack="false" runat="server"
EnableViewState="false" OnSelectedIndexChanged="cboPages_SelectedIndexChanged" />
При изменении выбранного индекса он устанавливает файл cookie, значением которого является выбранное значение. Когда значение комбинированного списка изменяется, вызывается функция javascript:
function PerformCallbackOnGrid(grid) {
try {
grid.PerformCallback("refresh");
}
catch(err){
alert('Could not perform callback on grid.');
}
}
Функция прикреплена в коде:
this.cboPages.Attributes["onChange"] = "PerformCallbackOnGrid(" + this.GridClientID + ")";
После выполнения этих шагов:
- Пользователь изменяет размер страницы сетки с помощью выпадающего списка, поэтому PerformCallback вызывается как минимум один раз.
- Пользователь нажимает F5 (обновление).
- Пользователь снова пытается изменить размер страницы.
Появляется сообщение об ошибке «Неверное состояние просмотра».
Я попытался установить для ViewStateMode значение Disabled для сетки, также EnableViewState = "false".