【问题标题】:Validation in nested UpdatePanel(s)嵌套更新面板中的验证
【发布时间】:2011-07-24 04:23:55
【问题描述】:

我有一个包含多个更新面板的 ASP.Net 页面。每个 UpdatePanel 加载一个 UserControl,并且每个 UserControl,可能存在子 UserControl。为了实现部分刷新,每个子UserControl都会通过UpdatePanel来承载。这些用户控件具有输入控件和相应的验证器服务器控件。

问题是,子用户控件中的验证器也会触发其父用户控件中的验证;但是,我希望基于 UpdatePanel 将验证单独放入范围。 请帮忙。

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

谢谢。 威廉

-- 已编辑 --- 例如。

我有一个名为“AddableDropDown”的用户控件,它是一个下拉列表,提供动态添加新列表项的功能。它由一个下拉列表组成,用于说明当前可用的项目;一个 asp:textbox 用于输入新项目的标题,一个 asp:button 用于提交新项目,以及一个 asp:textbox 上的“RequiredFieldValidator”目标。

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

我试图达到的目标是将 AddableDropDown 的验证与其每个实例以及它的每个父控件分开。

【问题讨论】:

  • 您是否通过为控件设置验证组来尝试过它
  • 我要了你写的出处
  • 嗨,Drobabu,我需要一些时间从混乱中获取源代码。

标签: asp.net updatepanel validation


【解决方案1】:

您是否尝试过为每个面板中的控件设置validationgroup

【讨论】:

  • 是的,通过尝试 ValidationGroup,我现在面临两个问题:1) 子用户控件的所有实例都将具有相同的 ValidationGroup,这会导致对其他非重点实例进行验证。 2) 焦点子用户控件的回发动作永远不会被触发。
  • 你能把你写的出处吗
  • 为了区分验证范围,可重用 UserControl 中的 ValidationGroup 应该能够唯一标识: 所以,在 AddableDropDown.ascx 中,我动态生成 ValidationGroup:protected void Page_Load(object sender, EventArgs e) { //... 其他代码... in_newtag.ValidationGroup = in_newtag.ValidationGroup + this.ID; btn_newtag.ValidationGroup = btn_newtag.ValidationGroup + this.ID; //... 其他代码... }
猜你喜欢
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 2012-03-02
相关资源
最近更新 更多