是否可以純粹聲明性地在ASP.NET GridView中啓用驗證?ASP.NET GridView - 如何以聲明方式啓用驗證
我已經試過:
綁定到SelectMethod和UpdateMethod一個ObjectDataSource一個GridView定義
GridView控件包含一些只讀綁定列列和模板列,其EditTemplate包含一個文本框和一個RegularExpressionValidator只允許在TextBox中輸入數字。
GridView還包含一個CommandField,其中ShowEditButton = true且CausesValidation = true。
如果我點擊編輯,輸入一個無效的值,然後點擊保存,有一個回傳,以及異常的服務器(輸入字符串的不正確的格式)拋出。
我當然可以通過向服務器上的RowUpdating事件處理程序添加驗證代碼來避免這種情況(請參見下文),但是是否存在任何聲明方式來強制驗證在不添加此代碼的情況下完成?
protected void MyGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Page.Validate("MyValidationGroup");
if (!Page.IsValid)
{
e.Cancel = true;
}
}
我知道服務器端驗證是必要的,我的問題是它是否可以聲明啓用。我試圖減少需要添加的相同樣板代碼的數量。 但是我懷疑你是對的:GridView和類似的類沒有「ValidationGroup」屬性,沒有它,他們不知道需要驗證什麼。 – Joe 2010-05-17 05:42:55