Page Load,作为两个单词的句子,意思是当页面被加载时,意思是,当所有元素都被加载时。
假设我有一个名为 Ask.aspx
的页面,并且该页面仅允许已登录的用户访问,因此从技术上讲,我会编写如下内容:
if(Session["id"]==null)
Response.Redirect("Login.aspx");
这意味着,我在页面加载后测试 session ,理论上,我认为这听起来不对,现在我当然不会注意到它,它会很快,我会尝试访问该页面,然后我被重定向到 Login.aspx,但是...在页面加载方法上测试 session 是否正确?
最佳答案
Page_Load是页面生命周期的一部分。它在服务器加载页面时调用,而不是在客户端加载页面时调用...
所以这是检查 session 变量的正确位置...
您实际上是在说:在我将页面发送回客户端之前,请检查我是否为此 session 设置了 ID
属性...如果没有 - 告诉客户端重定向到 Login.aspx 页面...
这是正确的做法...
我建议您还阅读 Server.Transfer 。它与 Response.Redirect 的区别在于,在 Server.Transfer 中,服务器本身“重定向”到另一个页面,并将新页面的结果输出回客户端(在客户不知情的情况下)。
关于asp.net - 是否应该在 ASP.Net 中的页面加载时检查 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011436/