asp.net: response.redirect, не работающий

Самый идиоматический способ сделать это должно использовать символы. Например, вместо:

enum {
  FOO,
  BAR,
  BAZ
}

myFunc(FOO);

... можно просто использовать символы:

# You don't actually need to declare these, of course--this is
# just to show you what symbols look like.
:foo
:bar
:baz

my_func(:foo)

Это более открыто, чем перечисления, но это соответствует хорошо духу Ruby.

Символы также работают очень хорошо. Сравнение двух символов для равенства, например, намного быстрее, чем сравнение двух строк.

5
задан Mafii 28 April 2016 в 09:00
поделиться

2 ответа

Я считаю, что поведение, которое вы видите, правильное. Response.redirect выполняется через браузер. Поэтому, когда вы получаете сообщение об ошибке, страница отправляется в браузер, и браузер запускает перенаправление. Перенаправление вызывает повторное срабатывание page_load (это стандартный поток в ASP.NET).

Хотя вы можете использовать Server.Transfer, чтобы обойти это, я бы рекомендовал использовать перенаправление ошибок, встроенное в ASP.NET. См. на этой странице для получения дополнительной информации о том, что доступно и как их использовать.

0
ответ дан 13 December 2019 в 19:28
поделиться

Попробуйте следующее:

Response.Redirect("url");
Response.End;
1
ответ дан 13 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: