我有一個驗證服務器端用戶輸入一個自定義類(ServerSideValidator.vb)防止回發事件處理程序(它不使用任何內置的驗證程序的.NET的,因此Page.Validate()是對我來說不是一種選擇)。我打電話在page.IsPostback事件和類執行Validate()方法沒有任何問題如何從射擊
我的問題是,當驗證失敗(返回false),我想停止觸發回發事件處理程序,但加載頁面以及其中的所有控件和用戶輸入值。如果我這樣做,Response.End(),頁面會變成空白。我可以以編程方式指示頁面轉到上一頁(回發之前的原始表單),但它會丟失所有用戶輸入。
我想創造隱藏文件頁碼的全局布爾變量,並執行任何回發方法之前檢查值,但這種方法從我的計劃提供的類本身內部的所有功能帶走。頁面對象被引用到ServerSideValidator。
好像所有的回發相關的屬性/變量我遇到頁類中是「只讀」,我不能指定值(S)來控制/防止回發事件燒製而成。
任何idiea我怎麼能做到這一點?請讓我知道,如果你需要進一步的細節
它張貼回到同一頁面。例如我在Default.aspx頁面上有SAVE按鈕。當用戶點擊該按鈕,在Page_Load中我編碼 如果Page.IsPostBack然後 昏暗的SSV作爲新ServerSideValidator() ssv.AddValidation(txtName的 '字母') ssv.AddValidation(txtDescription, '字母') 如果不ssv.Validate()Then ''我正在尋找一個代碼塊,它將繞過 ''SAVE按鈕事件處理程序。我還是想在頁面完成 '加載和保存所有的用戶輸入 結束如果 結束如果 – user331744 2010-05-03 20:50:42
它回發到同一頁。例如我在Default.aspx頁面上有SAVE按鈕。當用戶單擊按鈕時,在Page_Load上,我正在編碼
如果Page。IsPostBack Then
Dim ssv As New ServerSideValidator()
ssv.AddValidation(txtName,'alphabetic')
ssv.AddValidation(txtDescription,'alphanumeric')
如果不是ssv.Validate()Then
''我正在查找代碼在此處將阻止「
」SAVE按鈕事件處理程序。我仍然希望頁面完成
''加載並保留所有用戶輸入
結束如果
結束如果 – user331744 2010-05-03 20:52:23
當我提到回到上一頁時。我只是做了一個javascript history.go(-1)。這樣,它加載default.aspx作爲一個新的負載(缺少所有用戶輸入) – user331744 2010-05-03 20:54:27