Devexpress网格 - PerformCallback生成无效的视图状态

时间:2010-12-13 14:40:05

标签: asp.net viewstate devexpress aspxgridview

我有一个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 + ")";

执行这些步骤后:

  1. 用户使用组合框更改网格页面大小,因此至少调用一次PerformCallback。
  2. 用户按下F5(刷新)。
  3. 用户尝试再次更改页面大小。
  4. 出现“无效的视图状态”错误消息。

    我已尝试将网格的ViewStateMode设置为Disabled,同时EnableViewState =“false”。

1 个答案:

答案 0 :(得分:3)

自己搞定!显然它足以设置

EnableViewState="false" EnableRowsCache="false"

到网格。

行缓存是导致视图状态错误的行。