加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:05:25 所属栏目:百科 来源:网络整理
导读:我有一个带有按钮的asp.net页面.此按钮生成用户控件并将其插入页面,因此一个页面上可能存在许多控件.我需要验证生成的控件中是否存在某个动态生成的控件. 所以……页面有0到N个Control1.每个Control 1可以有0到N个Control2.当在页面上单击SaveButton时,我需
我有一个带有按钮的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;
    }

}

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读