0

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 に答える