我的頁面上有幾個asp驗證控件。我在頁面上有一個asp.net按鈕,它可以保存頁面上的所有內容。正在檢查在asp.net中進行服務器端驗證所需的Page.IsValid webforms
在按鈕的OnClick服務器端事件中,我應該總是將它包裝在一個(如果Page.IsValid)語句中?
看來驗證仍然有效,無論?還是隻有客戶端驗證正在工作?
我的頁面上有幾個asp驗證控件。我在頁面上有一個asp.net按鈕,它可以保存頁面上的所有內容。正在檢查在asp.net中進行服務器端驗證所需的Page.IsValid webforms
在按鈕的OnClick服務器端事件中,我應該總是將它包裝在一個(如果Page.IsValid)語句中?
看來驗證仍然有效,無論?還是隻有客戶端驗證正在工作?
默認情況下,將發生驗證,在Page_Load
事件之後由您的按鈕觸發。
另外,Page.IsValid
在撥打Page.Validate()
後有意義。請注意後者會在幾種情況下自動發生。
您的問題可以更深入地回答,但我不會詳細討論,因爲其他人已經討論過這個問題。您可以繼續閱讀this其他SO問題。
Page.Validate
會自動調用,但在某些情況下,您最好在自己的代碼中調用該方法。調用Page.Validate()
方法來觸發服務器端驗證。
然後您需要檢查Page.IsValid
屬性以確定是否存在任何驗證錯誤。 然後,您可以決定是要繼續處理頁面,還是隻想返回頁面。
如果你不要檢查屬性並更改事件處理代碼將被執行的流程。
您可以通過在瀏覽器中禁用JavaScript並提交表單來了解服務器端驗證是否正在發生。這將繞過客戶端驗證。
你能展示一些代碼部分嗎?爲什麼不調用特定驗證器的IsValid方法而不是一般的Page.IsValid? – ElConrado