检查条件是否为真的页面生命周期的最佳部分是什么,如果是,则重定向远离正在加载的页面。在这种情况下,我正在检查用户是否在注册后设置了他/她的帐户设置。如果他们没有,那么我重定向。但是我想在问题开始实际加载之前执行检查和重定向。
有什么想法吗?
答案 0 :(得分:1)
放置该逻辑的正确位置将在Page_Load方法
中 protected void Page_Load(object sender, EventArgs e)
{
//Check for condition here & redirect if needed
if (!IsPostBack)
{
//Load data & bind stuff here
}
}
答案 1 :(得分:1)
我想你必须为每一页都检查一下。在这种情况下,我会在Global.asax中使用一个事件,例如
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
或(如果与身份验证有关)
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
如果您只需在登录后进行检查,则可以为OnLoggedIn实现事件处理程序。
第三种可能性是为所有asp.net表单实现一个抽象的公共基页并实现OnPageLoad事件。这比复制每个页面中的代码要好。