0

我正在尝试使用 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="错误")]

公共布尔 Checkbox12 { 获取;放; }

那是行不通的。

然后我尝试了别的东西:

尝试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 在当前上下文中不存在

非常感谢!

4

1 回答 1

0
   if (CheckBox1.Checked == true)
    {//Do your Code here..
    }
于 2013-07-25T15:28:20.193 回答