回传时的响应重定向

Jar*_*ett 2 asp.net

我的代码看起来像:

protected void Page_Load(object sender, EventArgs e)
{
   if(IsPostback)
   {
      if(/* User is not authenticated to perform any actions on this page */)
      {
        Response.Redirect(/* Error Page */);
      }
   }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
   /* do some stuff */
}
Run Code Online (Sandbox Code Playgroud)

我会猜到,如果我提交按钮进行回发并且我没有通过身份验证,那么在 Page_Load 中会发生重定向并发回 HTTP 302。但是,它似乎运行了 Response.Redirect 代码行, 在 Page_Load 中继续处理它,然后甚至在btnSubmit_Click之后运行。响应不是错误页面。

我可以return在 Response.Redirect 之后调用以防止在该函数中进一步处理,但该btnSubmit_Click函数仍将运行。

为什么会这样?

Gar*_*ger 5

要防止处理更多代码,请使用以下命令:

Response.Redirect(url, true);
Run Code Online (Sandbox Code Playgroud)

第二个参数将结束进一步的处理。