【发布时间】:2011-08-24 08:02:52
【问题描述】:
我写了以下代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
try
{
string data = Request.Form["postedData"];
if(someFunc(data))
Response.Redirect(SuccessURL, false);
else
Response.Redirect(FailureURL, false);
}
catch (Exception ex)
{
Response.Redirect(FailureURL, false);
}
}
}
除非 Page_Load 中出现异常,否则它工作正常。据我了解,如果出现异常,代码应将页面重定向到 FailureURL。但在我的情况下,当出现异常时,Page_Load 被一次又一次地调用,发布的数据为 NULL。有什么线索吗?
【问题讨论】:
-
someFunc(data) 对其进行解码,然后检查某个值。如果发布的数据不是有效的编码字符串,则会导致异常。
-
您是在 someFunc 中处理异常,还是简单地重新抛出它?你能显示 someFunc 的代码吗?
-
我什么都没处理。唯一的 catch 块在 page_load 中。
-
@Raihan Alam:你确定FailureURL不是同一个页面吗?
-
@Razen 正如我已经提到的,如果没有例外,它可以正常工作。
标签: asp.net