我的代码如下所示:
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 */
}
我猜想如果我提交按钮进行回发并且我没有经过身份验证,那么在 Page_Load 中重定向会发生并会发回 HTTP 302。但是,它似乎运行 Response.Redirect 代码行,继续在 Page_Load 中处理它,然后甚至在btnSubmit_Click
之后运行。响应不是错误页面。
我可以return
在 Response.Redirect 之后调用以防止在该函数中进行进一步处理,但该btnSubmit_Click
函数仍将运行。
为什么会这样?