我有一个 DevExpress 网格,每次更改组合框中的值时都需要刷新它。例如,我有一个组合框来设置网格的页面大小。要求之一是组合框不会导致完整的回发。
组合框声明如下:
<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"。