仅将数据加载到会话一次

时间:2011-01-30 03:12:50

标签: asp.net

我有一个母版页,我正在将一些数据加载到会话中。

我在if语句中放置了调用我的查询的代码行的 Page_Init事件

if (!Page.IsPostBack){ load data from queries into the session}

这是我每次会话只加载一次会话数据所需要的。回电怎么样?我是否还需要检查以避免在回叫中重新加载会话数据?我需要检查以避免不必要的会话数据重新加载的任何其他条件?我希望只在条件语句中运行一次查询。

感谢。

2 个答案:

答案 0 :(得分:1)

没有。您刚发布的内容并不能保证每次会话一次。实际上,每次使用GET命令调用 ASPX 页面时,都会加载数据。

如果您希望HTTP会话只加载一次数据(我假设会话表示HTTP会话),请尝试Session_OnStart event handler

答案 1 :(得分:1)

您可以检查会话变量是否为空。如果为null,则加载数据。如果它不为null则不执行任何操作。

正如Pablo Santa Cruz所说,加载会话变量的最佳位置是在Sessio_OnStart事件处理程序中,但快速而又脏的方法是简单地检查Page_Init事件中是否存在会话。