2

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

这导致 ViewState 大小高达 2.34MB(即使页面上进行 gzip 压缩之后)。

我尝试设置EnableViewState = false控件,该控件适用于每次回发绑定的约会。使用我自定义的 AdvancedEdit 模板时会出现问题。有一点需要回发页面才能重新填充弹出窗口上的下拉列表以插入/更新约会。有什么方法可以使 AdvancedEditForm 持久化而不是 RadScheduler 控件?

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

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

4

1 回答 1

0

视图状态实际上就是当前演示的状态。这是一个很好的机制来防止页面来回回发,但最终会导致页面非常重。如果您要将视图状态放在 SQL 服务器或会话数据中,它就不是视图状态,而是基于会话的状态,否则您必须保留您为数据库中的每个页面生成的所有可能的视图状态。我在这里闻到了一个严重的视图状态误解......

解决办法是什么?

重新考虑您的结构,据我所知,RAD 是一个很棒的库,尽管自从我使用 PHP 以来我并没有太多使用它。肯定会有本地事件可以让您将 javascript 代码绑定到您的 RADScheduler 中发生的事件,尽管我不能确定。

另请注意,最好的办法是在 Telerik 的网站上发帖。Telerik 的用户群可能对您可以为您的案例做什么和不做什么有更好的了解......

祝你好运

于 2012-11-20T19:20:32.277 回答