【问题标题】:asp:Wizard SideBarTemplate - dynamic CausesValidation causes Page.IsValid errorasp:Wizard SideBarTemplate - 动态 CausesValidation 导致 Page.IsValid 错误
【发布时间】:2010-11-25 07:37:15
【问题描述】:

我正在尝试使 SideBar 功能更像 Prev/Next 按钮。导航按钮仅在前进时检查验证;他们不在乎你是否回去。据我所知,您只能在 SideBar 上使用一个或另一个选项,而不是两者兼而有之。所以,这就是我试图做的:

<SideBarTemplate>
  <asp:DataList ID="SideBarList"  runat="server">
    <ItemTemplate>
      <asp:LinkButton ID="SideBarButton" runat="server" CausesValidation="<%# Container.ItemIndex >= myWizard.ActiveStepIndex %>" />
   </ItemTemplate>
  </asp:DataList>
</SideBarTemplate>

它继续工作,但在前面的步骤中失败并出现此错误:

在验证发生之前不能调用 Page.IsValid。应该在事件处理程序中查询具有 CausesValidation=True 并启动回发的控件,或者在调用 Page.Validate 之后。

有什么建议吗?

编辑:我确实看过this post,但似乎并没有解决问题。

【问题讨论】:

    标签: asp.net validation wizard sidebar


    【解决方案1】:

    我在开始使用 StartNavigationTemplate、StepNavigationTemplate 和 FinishNavigationTemplate 时遇到了类似的问题。我对 StepNavigation 的解决方案是添加以下 sn-p:

        protected void wiz_NextButtonClick(object sender, WizardNavigationEventArgs e)
        {
             if (e.CurrentStepIndex > 0 && Page.IsValid)
             {...
    

    我怀疑这是因为我的第一页上没有要验证的内容。

    但是,当我的 OnFinishButtonClick 被调用时,我仍然遇到问题,到目前为止我找不到任何解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 2019-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多