使用Register(ASP.NET)时使用相同的ascx控件两次

时间:2009-11-20 16:53:38

标签: asp.net validation

我正在使用页面顶部的Register来注册一个ascx控件,现在问题是我想在页面上使用这个控件两次。

现在,问题是当我点击控件的一个实例的按钮时,它会触发两个控件的验证,并且它显然会中断,因为它应该只验证一个控件 - 本身!我确定这个的原因是因为如果我在页面上只保留一个控件实例,那么它会很好地流动。

我已经尝试过做 NOT 的工作: 1)将两个实例放在不同的ASP面板中。 2)在页面顶部注册控件两次,因此每个注册在页面上只有一个实例。

我不想修改控件本身的验证,但它是一个巨大的项目,它正在其他地方使用,我不想破坏其他的东西。仅供参考它正在使用“ Page.IsValid ”进行验证。

1 个答案:

答案 0 :(得分:1)

在用户控件的Page_Load方法中动态设置验证器的ValidationGroup属性和按钮的ValidationGroup属性。您可以使用用户控件的ID属性作为ValidationGroup的一部分来区分这两个控件。

如,

myRequiredValidator.ValidationGroup = "valGroup_" + this.ID;
myButton.ValidationGroup = "valGroup_" + this.ID;