RadScheduler导致大量的ViewState大小

时间:2012-11-20 18:34:31

标签: c# asp.net telerik viewstate radscheduler

目前我正在使用的RadScheduler的一个月视图,有90-400 +约会之间的任何地方。并非所有这些都被显示,但由于某些过滤逻辑,它们总是需要被拉回并绑定到控件以进行过滤和业务逻辑。

这导致ViewState大小高达2.34MB(页面上甚至 AFTER gzip压缩)。

我试图在控件上设置EnableViewState = false,该控件适用于每个Postback绑定的约会。使用我自定义的AdvancedEdit模板时会出现此问题。页面需要回发以便重新填充弹出窗口中的下拉列表以插入/更新约会。有没有办法让AdvancedEditForm持久化而不是RadScheduler控件?

除了将ViewState移动到SQL Server之外,还有什么可以做的吗?

编辑 RadCompression模块是一个选项,因为RadScheduler与DotNetNuke模块一起使用。

1 个答案:

答案 0 :(得分:0)

查看状态实际上就是当前表示的状态。这是一种很好的机制,可以来回阻止页面回传,但最终导致页面非常繁重。如果您将视图状态放在SQL服务器或会话数据中,它将不是一个视图状态,它将是基于会话的状态,否则您必须保留为数据库中的每个页面生成的每个可能的视图状态。我闻到了一个观点误解的坏情况......

解决方案是什么?

重新思考你的结构,根据我的知识,RAD是一个很棒的库,虽然我还没有使用它,因为我使用的是PHP。必然会有本地事件可以让你的绑定javascript代码发生在RADScheduler中发生的事件,但我无法确定。

另请注意,您最好的选择是在Telerik的网站上发帖。 Telerik的用户群可能会更好地了解您可以做什么,而不是针对您的情况......

祝你好运