我想知道为什么程序员使用了try块。这是一个着名的做法
try
{
FormsAuthentication.RedirectFromLoginPage(username, pass;
}
catch
{
string strURL = (null != Request.QueryString["ReturnURL"] && Request.QueryString["ReturnURL"] != "") ? Request.QueryString["ReturnURL"] : "Default.aspx";
FormsAuthentication.SetAuthCookie(username, pass);
Response.Redirect(strURL);
}
由于
答案 0 :(得分:0)
方法可以抛出。这是其中的一部分:
// ....
if (CookiesSupported || IsPathWithinAppRoot(current, returnUrl))
{
// ....
}
else
{
if (!EnableCrossAppRedirects)
{
throw new HttpException(SR.GetString("Can_not_issue_cookie_or_redirect"));
}
// ....
}
// ....
您可以自己在Reflector中看到所有这些内容。
答案 1 :(得分:0)
ReturnURL是一个参数,用于指定登录后的去向。如果它丢失了你可能想把它处理到Default.aspx,那就是全部。