Управление потоком в ASP.NET с помощью return; не отображать остальную часть страницы - PullRequest
0 голосов
/ 15 сентября 2010

этот вопрос должен быть довольно базовым. Я хочу контролировать поток страницы ASP.NET - если выполняется определенное условие, я хочу вывести сообщение об ошибке и прекратить рисование страницы. Однако я также хочу, чтобы ASP.NET выводил правильный HTML (то есть не обрезанный посередине). Прямо сейчас я делаю это:

   if (condition != what-i-want) {
     Label_Error.Text = "Sorry, you messed up";
     return;
   }

И проблема с этим фрагментом в том, что ASP.NET рисует оставшуюся часть определенной страницы, не обрезая после ошибки. Я действительно не хочу делать всю страницу Visible = False и затем отменять ее, когда кто-то аутентифицирован.

Есть ли хороший способ сделать это? Я пробовал Response.End(), но это не выводит чистый HTML (или что-то еще, так как я проверяю Page_Load). У меня был похожий опыт с Response.Close() и др.

Спасибо.

1 Ответ

1 голос
/ 15 сентября 2010

Самый простой способ - создать еще одну страницу, которая будет сообщать пользователю о проблемах, а затем использовать server.transfer (или response.redirect) для передачи управления этой странице.

Еще одним способом было бы включить весь контент страницы в панель (или панель) отдельно от того, что вы хотите, чтобы пользователь видел, а затем отключить видимость для панели, чтобы не показывать контент страницы - но учтите, жизнь страницы цикл не остановится; просто содержимое на панели не будет видно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...