2015-08-28 55 views
0

我的頁面上有幾個asp驗證控件。我在頁面上有一個asp.net按鈕,它可以保存頁面上的所有內容。正在檢查在asp.net中進行服務器端驗證所需的Page.IsValid webforms

在按鈕的OnClick服務器端事件中,我應該總是將它包裝在一個(如果Page.IsValid)語句中?

看來驗證仍然有效,無論?還是隻有客戶端驗證正在工作?

+0

你能展示一些代碼部分嗎?爲什麼不調用特定驗證器的IsValid方法而不是一般的Page.IsValid? – ElConrado

回答

0

默認情況下,將發生驗證,在Page_Load事件之後由您的按鈕觸發。

另外,Page.IsValid在撥打Page.Validate()後有意義。請注意後者會在幾種情況下自動發生。

您的問題可以更深入地回答,但我不會詳細討論,因爲其他人已經討論過這個問題。您可以繼續閱讀this其他SO問題。

0

Page.Validate會自動調用,但在某些情況下,您最好在自己的代碼中調用該方法。調用Page.Validate()方法來觸發服務器端驗證。

然後您需要檢查Page.IsValid屬性以確定是否存在任何驗證錯誤。 然後,您可以決定是要繼續處理頁面,還是隻想返回頁面。

如果你不要檢查屬性並更改事件處理代碼將被執行的流程。

您可以通過在瀏覽器中禁用JavaScript並提交表單來了解服務器端驗證是否正在發生。這將繞過客戶端驗證。

相關問題