0
我需要知道这是否可能,我有一个向导,并且当我步骤5时我需要更改从下一个按钮到结束按钮,因为完成步骤的向导没有显示步骤,我需要它显示,所以我想出了一种方法来做事情,但我需要一个按钮变成可见,当它到达第5步,但问题是,它必须完成activeStepChanged(我认为)。asp.net向导activestepchange下一步按钮更改验证组
这里是代码:
protected void wizard1_ActiveStepChanged (object sender, EventArgs e) {
((Button)(wizard1.FindControl("StepNavigationTemplate$btnNext"))).Visible = true;
((Button)(wizard1.FindControl("StepNavigationTemplate$btnFinish"))).Visible = false;
switch(wizard1.ActiveStepIndex) {
case 1:
wizard1.MoveTo(WizardStep2);
break;
case 2:
wizard1.MoveTo(WizardStep3);
break;
case 3:
wizard1.MoveTo(WizardStep4);
break;
case 4:
wizard1.MoveTo(WizardStep5);
((Button)(wizard1.FindControl("StartNavigationTemplateContainerID$btnNext"))).Visible = false;
((Button)(wizard1.FindControl("StartNavigationTemplateContainerID$btnFinish"))).Visible = true;
break;
case 5:
wizard1.MoveTo(WizardStep6);
break;
}
}
这是可能做到?因为当我运行的代码它说,该按钮为空,我想其他的方法是这样的:
protected void wizard1_ActiveStepChanged (object sender, EventArgs e) {
Button btnNext = (Button)wizard1.FindControl("btnNext");
Button btnFinish = (Button)wizard1.FindControl("btnFinish");
btnNext.Visible = true;
btnFinish.Visible = false;
switch(wizard1.ActiveStepIndex) {
case 1:
wizard1.MoveTo(WizardStep2);
break;
case 2:
wizard1.MoveTo(WizardStep3);
break;
case 3:
wizard1.MoveTo(WizardStep4);
break;
case 4:
wizard1.MoveTo(WizardStep5);
btnNext.Visible = false;
btnFinish.Visible = true;
break;
case 5:
wizard1.MoveTo(WizardStep6);
break;
}
}
,但它总是返回我的按钮为空,有什么办法捉对ActiveStepChanged按钮?如果不是我必须做什么替代方案才能做到这一点?
这里是按钮的代码:
<StartNavigationTemplate>
<asp:Button ID="StartNextButton" runat="server" CommandName="MoveNext" Text="SEGUINTE" CssClass="wizard-nav-buttons" ValidationGroup="valReg" CausesValidation="true" />
</StartNavigationTemplate>
<StepNavigationTemplate>
<div style="display: table-cell;">
<asp:Button ID="btnPrevious" runat="server" Text="ANTERIOR" CommandName="MovePrevious" CausesValidation="true" CssClass="wizard-nav-buttons prev" />
</div>
<div style="display: table-cell; padding-left: 10px;">
<asp:Button ID="btnNext" runat="server" CommandName="MoveNext" Text="SEGUINTE" CausesValidation="true" CssClass="wizard-nav-buttons" />
</div>
<div style="display: table-cell; padding-left: 10px;">
<asp:Button ID="btnFinish" runat="server" OnClick="wizard1_FinishButtonClick" Text="SUBMETER PROPOSTA" CssClass="wizard-nav-buttons submeterProposta" CausesValidation="true" Visible="false" />
</div>
</StepNavigationTemplate>
<FinishNavigationTemplate></FinishNavigationTemplate>
谢谢你这么远。
你的第二个例子应该找到控制。你有没有机会进入MasterPage?有一个可以从CodingHorror获得的递归FindControl,它可以在MasterPage中工作.http://blog.codinghorror.com/recursive-pagefindcontrol/ – Tim 2014-10-27 12:12:22
我使用的是普通的aspx页面,我没有这个母版页项目,我正在提交一个表单提交到数据库,所以它无论如何不能在母版页 – 2014-10-27 12:15:01
您的完成按钮ID“btnFinishButton”或“FinishButton”?我打赌你的身份证已关闭。 – Tim 2014-10-27 12:17:07