2011-03-28 114 views
0

我有一个ASP.Net页面有几个UpdatePanels。每个UpdatePanel加载一个UserControl,并且每个UserControl,子UserControl(s)可能存在。为了实现部分刷新,每个子UserControl将通过UpdatePanel进行。这些用户控件具有输入控件和相应的验证器服务器控件。嵌套UpdatePanel验证

问题是,子UserControl中的验证器也会在其父级UserControl中触发验证;不过,我想单独验证到基于UpdatePanel的范围中。 请帮助。

我正在使用Visual Studio 2008和.Net 3.5。

谢谢。 William

- EDITED --- E.g.

enter image description here

我有所谓的“AddableDropDown”的用户控件是一个下拉列表,提供在飞行中增加新的列表项的能力。它包含一个下拉列表来说明当前可用的项目;用于输入新项目标题的asp:文本框,用于提交新项目的asp:按钮,以及asp:文本框中的“RequiredFieldValidator”目标。

“AddableDropDown”将用于不同的基于UserControl的“web表单”,该表单具有其他类型的输入和验证器。

我试图达到的目标是将AddableDropDown的验证从它的每个实例以及它的每个父控件中分离出来。

+0

您是否由具有验证组为对照 – Dotnet 2011-03-28 04:47:05

+0

我问你写 – Dotnet 2011-03-28 07:49:39

+0

喜Drobabu源尝试了它尝试了它,我需要一些时间来解决问题。 – 2011-03-28 07:52:11

回答

1

你有没有通过在每个用于控制一个validationgroup和每块面板

+0

是的,通过尝试ValidationGroup,我现在面临两个问题:1)sub-usercontrol的所有实例将具有相同的ValidationGroup,这会导致对其他非重点实例进行验证。 2)重点子用户控件的回馈操作永远不会被触发。 – 2011-03-28 07:26:56

+0

你可以发布你写的东西吗 – Dotnet 2011-03-28 07:34:55

+0

为了区分验证范围,可重用UserControl中的ValidationGroup应该能够唯一标识: 因此,在AddableDropDown.ascx中,我动态生成验证组: 受保护void Page_Load(object sender,EventArgs e){ \t // ...其他代码... \t in_newtag.ValidationGroup = in_newtag.ValidationGroup + this.ID; \t btn_newtag.ValidationGroup = btn_newtag.ValidationGroup + this.ID; \t // ...其他代码... } – 2011-03-28 08:01:52