我有一个ASP网页,它有52个自定义控件,通过在PreInit例程中加载来维护ViewState
这是一个报告生成器页面,根据哪个报告,最多可以看到5个自定义控件,但不是全部。
例如,
(这一切都很完美)
BUT ...
我想改为 LOAD ONLY 适合用户运行的报表的控件。 (对我来说这听起来像)我需要存储有关在ViewState中加载的WHICH控件的信息。
问题是...在PreInit例程中没有viewstate,因此我无法使用它来确定要加载的控件。
我的选择是将信息存储在要加载的WHICH控件中:
每一个都有我自己的需要做的事情。
(在您看来)最佳做法是什么。
我的代码(剪辑)
Private Sub WebForm2_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
ReportOptions.Controls.Add(UserControl1)
ReportOptions.Controls.Add(UserControl2)
ReportOptions.Controls.Add(UserControl3)
Etc...
End Sub
我的HTML(剪辑)
<div id="ReportOptions" class="ReportOptions" runat="server"/>
答案 0 :(得分:1)
Viewstate不是一个选项,因为您必须完全按原样(控件和所有)重新构建页面,以便在帖子后面正确读取视图状态。
会话sux。 (在asp.net提供程序中单线程)
数据库是沉重的过程。
网址方法是无状态的,可能是您最好的选择。