0


0

リターンでASP.NETのフローを制御します;ページの残りをレンダリングしないでください

この質問はかなり基本的なものでなければなりません。 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


最もクリーンな方法は、問題に関するメッセージをユーザーに提供する別のページを作成し、server.transfer(またはresponse.redirect)を使用して制御をそのページに転送することです。

さらに別の方法は、ユーザーに見せたいものとは別にパネル(またはパネル)にページコンテンツ全体を含めてから、ページコンテンツを表示しないためにパネルの表示をオフにすることです。やめる;パネル内のコンテンツが表示されないだけです。