2010-09-15 31 views
0

這個問題應該是相當基本的。我想控制ASP.NET頁面的流程 - 如果滿足某些條件,我想寫出錯誤消息並停止繪製頁面。但是,我也希望ASP.NET輸出正確的HTML(即在中間不能切斷)。現在我這樣做:在ASP.NET中用return ;,控制流程不要渲染頁面的其餘部分

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

最簡單的方法是創建另一個頁面,向用戶提供關於問題的消息,然後使用server.transfer(或response.redirect)將控制權轉移到該頁面。

還有一種方法是將整個頁面內容包含在面板(或面板)中,除了希望用戶看到的東西外,然後關閉面板的可見性以避免顯示頁面內容 - 但是請注意,頁面生命週期不會停止;它只是面板內的內容不可見。

+0

謝謝,重定向是我認爲的最好主意。 – jeffcook2150 2010-09-15 08:40:54