打开包含不同WizardStep向导的ASP.Net页面到默认的开始步骤?

时间:2011-02-22 14:25:53

标签: asp.net .net-3.5 aspwizard

我有一个包含以下(简化)<asp:Wizard />控件的ASP.Net Forms页面。我现在需要修改此页面,以便在加载时加载显示最后一步。

这是否可以不重新安排向导步骤(我宁愿不做)?

<asp:UpdatePanel runat="server" ID="updpanHeader" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Wizard ID="Wizard1" runat="server" DisplaySideBar="false" 
          Style="width: 100%"
          NavigationStyle-CssClass="invisible"
          OnNextButtonClick="Wizard1_NextButtonClick"
          OnActiveStepChanged="Wizard1_ActiveStepChanged">
            <WizardSteps>
                <asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1"
                  StepType="Start">
                    ... wizard form controls for page 1 ...
                </asp:WizardStep>
                <asp:WizardStep ID="WizardStep2" runat="server" Title="Step 2"
                  StepType="Step">
                    ... wizard form controls for page 2 ...
                </asp:WizardStep>
                <asp:WizardStep ID="WizardStep3" runat="server" Title="Step 3"
                  StepType="Step">
                    ... wizard form controls for page 3 ...
                </asp:WizardStep>
            </WizardSteps>
        </asp:Wizard>
    </ContentTemplate>
</asp:UpdatePanel>



我尝试过交换第一步和最后一步的StepType

我也尝试更改ActiveStepIndexPage_Load方法中的Page_LoadComplete,这确实有用..

void Page_Load(object sender, EventArgs e)
{
    Wizard1.ActiveStepIndex = (Wizard1.WizardSteps.Count - 1);
}

..但会导致Internet Explorer显示脚本警告:“此页面上的脚本出错。错误:预期的对象

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我可能错了,但我认为你想使用OnInit覆盖来激活索引,否则所有的回发都会触发Page_Load。

另外,我相信你想使用MoveTo命令而不是设置索引。垮台是你必须使用step的对象,但是你可以从我相信的Wizard.WizardSteps轻松得到它。

e.g。

private override void OnInit(EventArgs e)
{
  this.Wizard1.MoveTo(this.WizardStep3);

  base.OnInit(e);
}

我可能在这里错了...如果我是,请有人纠正我。