c# – 从其父页面验证ASP.NET用户控件

前端之家收集整理的这篇文章主要介绍了c# – 从其父页面验证ASP.NET用户控件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有按钮的asp.net页面.此按钮生成用户控件并将其插入页面,因此一个页面上可能存在许多控件.我需要验证生成的控件中是否存在某个动态生成的控件.

所以……页面有0到N个Control1.每个Control 1可以有0到N个Control2.当在页面上单击SaveButton时,我需要确保每个Control1中至少有一个Control2.

我目前有两种选择:

•为生成的每个控件动态插入CustomValidator,每个控件都将验证一个Control1.

•手动(使用jQuery)进行验证,从SaveButton.OnClientClick调用验证函数.

两者都以他们自己的方式草率 – 这就是为什么我和你们分享这个.我错过了简单的解决方案吗?

在此先感谢..(顺便说一句 – 任何包括.NET 3.5 SP1在内的公平游戏)

解决方法

嗯我喜欢digiguru建议的界面想法,但我会使用容器Control1上的接口而不是子控件,因为它似乎是代码生存的更合理的位置.继承我的看法:
public interface IValidatableControl
{
    bool IsValidControl();    
}

然后在Control1上实现它

public class Control1 : IValidatableControl
{
... Other methods
    public bool IsValidControl()
    {

        foreach(object c in this.Controls)
        {
            if(c.GetType() == "Control2")
                return true;
        }
        return false;
    }

}

可能有更好的方法来写这个,但它应该给你足够的想法开始.

猜你在找的C#相关文章