asp.net复选框自定义验证

时间:2013-07-25 15:07:06

标签: asp.net ajax

我正在尝试使用ASP.NET动态数据实体创建一个网站,我需要在我的网站中选中一个复选框,以便插入新记录。但是我无法验证复选框。我已经尝试过人们在这个网站上提出的服务器端自定义验证器,但是由于某些原因它们没有工作......如果它的动态数据实体应用程序的实现会有所不同,那么有什么线索呢?

到目前为止,我尝试过的是不同的东西:

尝试1:

上了一堂课:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MustBeTrueAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return value != null && value is bool && (bool)value;
    }
}

然后通过以下方式从元数据文件中调用它:

[MustBeTrue(的ErrorMessage ="错误&#34)]

public bool Checkbox12 {get;组; }

那不起作用。

然后我尝试了别的东西:

尝试2:

在aspx页面上:

<asp:DynamicControl ID="MyCheckbox" runat="server" DataField="Checkbox12" Mode="Insert" />
<asp:CustomValidator runat="server" ID="cvIsActive"   OnServerValidate="cvIsActive_ServerValidate">You must select the checkbox</asp:CustomValidator> 

并在aspx.cs页面上:

 protected void cvIsActive_ServerValidate(object source,ServerValidateEventArgs args)
    {           
       if(args.Value.Length==1)
            args.IsValid = true;
        else
            args.IsValid = false;   

    }    

第二次尝试向我提供了是否单击它的错误消息。 我尝试用:

替换args.value.length

args.IsValid = MyCheckBox.Checked

但是,这会产生一个错误,即MyCheckBox名称在当前上下文中不存在

非常感谢!

1 个答案:

答案 0 :(得分:0)

   if (CheckBox1.Checked == true)
    {//Do your Code here..
    }