我有一个母版页,我正在将一些数据加载到会话中。
我在if语句中放置了调用我的查询的代码行的 Page_Init事件
if (!Page.IsPostBack){ load data from queries into the session
}
这是我每次会话只加载一次会话数据所需要的。回电怎么样?我是否还需要检查以避免在回叫中重新加载会话数据?我需要检查以避免不必要的会话数据重新加载的任何其他条件?我希望只在条件语句中运行一次查询。
感谢。
答案 0 :(得分:1)
没有。您刚发布的内容并不能保证每次会话一次。实际上,每次使用GET
命令调用 ASPX 页面时,都会加载数据。
如果您希望HTTP会话只加载一次数据(我假设会话表示HTTP会话),请尝试Session_OnStart
event handler。
答案 1 :(得分:1)
您可以检查会话变量是否为空。如果为null,则加载数据。如果它不为null则不执行任何操作。
正如Pablo Santa Cruz所说,加载会话变量的最佳位置是在Sessio_OnStart事件处理程序中,但快速而又脏的方法是简单地检查Page_Init事件中是否存在会话。