Я очищаю некоторый код устаревшего кода, и огромное количество его просто кодируется по исключению. Значения не проверяются, чтобы увидеть, являются ли они нулевыми, и, как следствие, большое количество исключений бросается и ломается.Как избежать «Response.Redirect не может быть вызван в обратном обращении к странице»
У меня есть большинство из них очищено, однако Есть несколько методов фреймворка error/login/security, которые делают Response.Redirect, и теперь, когда мы используем ajax, мы получаем ALOT «Ответ .Redirect не может быть вызван в обратном вызове страницы. " И я хотел бы избежать этого, если это вообще возможно.
Есть ли способ программно избежать этого исключения? Я ищу что-то вроде
if (Request.CanRedirect)
Request.Redirect("url");
Заметим, что это также происходит с Server.Transfer, так что я хотел бы быть в состоянии проверить, если я могу сделать Request.Redirect ИЛИ Server.Transfer.
В настоящее время, его просто делает это
try
{
Server.Transfer("~/Error.aspx"); // sometimes response.redirect
}
catch (Exception abc)
{
// handle error here, the error is typically:
// Response.Redirect cannot be called in a Page callback
}
Где в HttpContext.Current можно найти IsCallback? У меня не всегда будет Страница –
Ах, я нашел ее, я добавил код, который я использовал для вашего ответа, так как ваш фрагмент действительно все, что мне нужно. Я не могу поверить, что не думал о том, что так просто, хе-хе. Спасибо человеку –