在.NET(特別是C#)中,如何停止導航?以編程方式停止導航
情況:用戶點擊了一個鏈接並觸發_Click()事件。
點擊事件觸發保存方法,該方法驗證一些信息。如果有任何信息不符合要求,我們希望停止發生其他點擊事件。
ASP.NET的內置驗證在這種情況下不起作用。根據數據的初始狀態,可能需要填寫表單的多種不同方式(表單由多個不同控件構建,每個控件都用於多個頁面)。例如,如果他們第一次打這個表格(他們以前從未添加過任何信息),則不需要任何東西......但是如果他們填寫任何內容,他們必須填寫(幾乎)所有內容。
有了驗證中的這個條件邏輯,只需在頁面上粘貼(空)標籤並在需要時填充驗證消息就比使用實際驗證器更容易。
我們的問題是,啓動Save()的方法會將用戶移動到另一個頁面。
沒有可用於指定「停止導航」的返回值...因此,如何啓動方法,設置「錯誤」標籤,然後阻止呼叫返回堆棧(併發送用戶離開頁面)?
它會,但我們不完全在做頁面導航。我們有一系列控制託管在一個頁面中,並且按鈕在它們之間導航。我們必須保存一個控件,關閉它,然後打開下一個控件。複雜性是因爲點擊由頁面處理,並由控件保存。 – Jeff 2009-01-21 16:40:15
@Ian:在UpdatePanels中使用Response.End()是否有任何複雜性? – Jeff 2009-01-21 16:50:19