2010-08-28 79 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