2010-08-28 78 views
0

在網格視圖中如何應用驗證程序來檢查是否有任何帶複選框的網格視圖行被選中或未選中。 我做到了使用這樣的自定義驗證,但給人錯誤 「通過的‘gridCheck’無法驗證ControlToValidate屬性引用控制‘GridView1’。」 下面是我的代碼 我該怎麼辦,請給我建議的替代網格視圖驗證問題

protected void gridCheck_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     foreach (GridView row in GridView1.Rows) 
     { 
      CheckBox cb = (CheckBox)row.FindControl("Chek"); 
      if (cb != null && cb.Checked) 
      { 
       args.IsValid = true; 
       return; 
      } 
      else args.IsValid = false; 
     } 
    } 
+0

你可以調試應用程序,並告訴檢查事件是否提高。意思是如果你選中了一個複選框來測試它是否返回true或者不是 – Dotnet 2010-08-28 12:21:51

回答

0

您必須添加模板字段列。將gridview設置爲編輯模板模式。 (在你的設計師)。您可以照常拖放控件並設置其ID等。添加驗證控件,並設置ID。

+0

在這種情況下,我的項目不需要在編輯模式下打開網格視圖,我該怎麼做。 Y直接,因爲我以上沒有工作,請讓我知道我還能做什麼? – NoviceToDotNet 2010-08-28 10:23:24

+0

我的意思是「編輯模板」模式,在設計師...我不是在說爲每一行啓用「編輯按鈕」和所有。點擊gridview的智能標籤。 Plz檢查這個鏈接,如果你發現它很難找到智能標籤... http://aspnetgoodies.files.wordpress.com/2007/12/grid-view-smart-tag.jpg – deostroll 2010-08-28 10:57:13