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; } } 可能有更好的方法来写这个,但它应该给你足够的想法开始. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |