【问题标题】:ASP.NET Events not firing in page containing large GridView controlASP.NET 事件未在包含大型 GridView 控件的页面中触发
【发布时间】:2009-01-13 12:05:50
【问题描述】:

我在一个 ASP 页面上有一个 GridView 控件,我已将它绑定到一个大(ish)数据源(大约 10k 行,有 24 个 varchar(50) 列)。该页面还有一个单独的(即不在 GridView 中)按钮控件。

问题是;单击按钮似乎不会触发 PageLoad 或 Button___click 事件,我得到的只是“无法显示页面”错误..

有趣的是,如果我减小 GridView 后面的数据集的大小,一切都会正常工作,并且会按预期触发事件。所以我假设它与页面上的数据量有关的某种超时或溢出。

如果我可以侥幸逃脱,我并不特别想使用分页,所以问题是,我可以更改某种超时或设置以允许处理大型数据网格吗?

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    您是否尝试过关闭页面上的 ViewState(您的 Page 指令中的 EnableViewState=false)?我可以想象,对于一个 1.2MB 的表,ViewState 是相当大的,它可能会压倒页面上的参数处理。

    【讨论】:

    • 感谢您的快速响应 :) 关闭 ViewState 的工作原理是现在再次触发事件,但 Grid 中的数据丢失了。所以我必须从数据库中重新加载数据集并重新绑定网格。有什么办法吗?
    • 将数据存储在会话中。您仍然需要重新绑定,但至少您不必再次查询数据库。话虽如此——10K 行真的太多了,无法使用,我会使用分页。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多