我的代码看起来像:
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函数仍将运行。
为什么会这样?
要防止处理更多代码,请使用以下命令:
Response.Redirect(url, true);
Run Code Online (Sandbox Code Playgroud)
第二个参数将结束进一步的处理。
| 归档时间: |
|
| 查看次数: |
7188 次 |
| 最近记录: |