0

我正在尝试使 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 之后。

有什么建议么?

编辑:我确实看过这篇文章,但似乎没有解决问题。

4

1 回答 1

0

当我开始使用 StartNavigationTemplate、StepNavigationTemplate 和 FinishNavigationTemplate 时,我遇到了类似的问题。我对 StepNavigation 的解决方案是放置以下代码段:

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

我怀疑这是因为我的第一页上没有什么可以验证的。

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

于 2010-09-15T17:12:49.447 回答