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