2012-04-17 67 views
4

我在我的项目中使用asp.net向导,这对我来说是新手。我在向导的其中一个步骤中进行验证。如果验证失败,我不应该让用户进入下一步。我正在使用一个在向导中的步骤之间导航的asp.net按钮。如果有人能帮助我,我将不胜感激。如果在asp.net向导中验证失败,则取消步骤

+0

告诉我们你的代码到底是什么,你在哪里被触击,以便我们可以看看你的问题,并继续下去。 – coder 2012-04-17 15:31:10

+0

这是我的导航按钮事件代码。 保护无效wizNav_Click(对象发件人,EventArgs的) { \t如果((wizClaimInfo.ActiveStep).ID == “stepSelectAddresses”) { 变种主= RetrieveAddressFields(下IsValid的,主); \t return; \t} } – 2012-04-17 15:34:29

回答

8

你可以尝试取消向导的SideBarButtonClick和NextButtonClick事件:

protected void Wizard1_SideBarButtonClick(object sender, WizardNavigationEventArgs e) 
    { 
    e.Cancel = !ValidateWizardStep(e.NextStepIndex); 
    } 

    protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e) 
    { 
    e.Cancel = !ValidateWizardStep(e.NextStepIndex); 
    } 
+0

感谢您的回复Mr.Ulises。我使用asp.net按钮而不是向导导航按钮。那么,我怎样才能达到与asp.net按钮相同。 – 2012-04-17 15:39:36

+0

你的按钮在哪里?你把它放在StepNavigationTemplate中吗?如果是这样,您应该能够添加CommandName =“MoveNext”或CommandName =“MovePrevious”以激发上述事件。 – Ulises 2012-04-17 15:48:08

+0

我正在使用该事件的按钮是在导航模板中,也用于SideBar模板中的链接按钮。 – 2012-04-17 15:52:35

4

我调整了代码由乌利塞斯发出一点点,使工作。

  1. 我已经加入onNextButtonClick属性向导

    <asp:Wizard ID="wizClaimInfo" runat="server" CssClass="wizard" DisplayCancelButton="True" ActiveStepIndex="0" OnNextButtonClick="wizClaimInfo_NextButtonClick"> 
    
  2. 在代码隐藏加入以下事件

    protected void wizClaimInfo_NextButtonClick(object sender, WizardNavigationEventArgs e) { 
    
         if (!IsValid) 
         { 
          e.Cancel = true; 
         } 
    
        return; 
    } 
    

也跟着下面链接给出指令。

http://forums.asp.net/t/1014412.aspx/2/10

我希望这将帮助别人的未来,因为我花了近2天尝试弄明白。并且特别感谢Mr.Ulises。