如何隐藏asp.net向导之前的完成按钮

时间:2013-12-17 08:33:36

标签: c# asp.net

我在asp.net网页中使用向导控件。我在向导中添加了一些步骤。我想从向导中隐藏上一步和完成按钮。我没有得到如何做到这一点,请告诉我这里是我的向导来源

<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="0" BackColor="#F7F6F3" 
                BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px" 
                Font-Names="Verdana" Font-Size="0.8em" Height="85px" 
                onfinishbuttonclick="Wizard1_FinishButtonClick" Width="241px">
                <HeaderStyle BackColor="#5D7B9D" BorderStyle="Solid" Font-Bold="True" 
                    Font-Size="0.9em" ForeColor="White" HorizontalAlign="Left" />
                <NavigationButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC" 
                    BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" 
                    ForeColor="#284775" />
                <SideBarButtonStyle BorderWidth="0px" Font-Names="Verdana" ForeColor="White" />
                <SideBarStyle BackColor="#7C6F57" BorderWidth="0px" Font-Size="0.9em" 
                    VerticalAlign="Top" />
                <StepStyle BorderWidth="0px" ForeColor="#5D7B9D" />
                <WizardSteps>
                    <asp:WizardStep runat="server" title="About You">
                        Enter Your Name:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                    </asp:WizardStep>
                    <asp:WizardStep runat="server" title="Fav Language" StepType="Finish">
                        <asp:DropDownList ID="DropDownList1" runat="server">
                            <asp:ListItem>C#</asp:ListItem>
                            <asp:ListItem>VB</asp:ListItem>
                            <asp:ListItem>Css</asp:ListItem>
                        </asp:DropDownList>
                    </asp:WizardStep>
                    <asp:WizardStep runat="server" Title="Ready">
                        <asp:Label ID="result" runat="server" Text="Label"></asp:Label>
                    </asp:WizardStep>
                </WizardSteps>
            </asp:Wizard>

我的c#代码就是这个

protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
    {
        result.Text = "Your name is " + TextBox1.Text+"<br/>";
        result.Text += "<br/>Your Fav Language is " + DropDownList1.SelectedValue;

    }

专家请告诉我该怎么做?

3 个答案:

答案 0 :(得分:0)

您是否可以尝试创建一个css类'Hidden'并更改之前按钮的类。 但我不确定为什么要隐藏“完成按钮”^^

/* CSS */
.hidden
{
  display:none;
}

/* C# */

 Wizard1.StepPreviousButtonStyle.CssClass = "hidden";

答案 1 :(得分:0)

昨天我用代码隐藏了一个按钮。

private void Close(object sender, EventArgs e)
   {
yourButton.Visible = !yourButton.Visible;
   }

我不确定它是否会消失,如果没有,请添加上面的代码,它应该可以正常工作。

yourButton.Visible = false;

还有CSS和jQuery的选项。我的asp按钮看起来像什么以及我从哪里得到你的按钮的一个例子。

<asp:Button ID="Closeform" runat="server" Text ="Hide PageState" OnClick="Close" />

答案 2 :(得分:0)

我正在寻找一个不同问题的答案,并遇到了这个问题。我知道它是在一年前被问到的,但似乎没有人给出一个规范的答案。对于ASP.NET向导,您可以使用向导的相应NavigationTemplate属性定义与每个步骤关联的按钮。以下是使用StartStepFinish的示例。您可以为每个按钮分配命令,然后通过向导的事件处理程序(OnNextButtonClickOnPreviousButtonClick等)绑定到命令。在NextPrevious处理程序中,您需要检查自己所处的步骤并采取相应措施。这当然只是表面上的问题。您可以取消导航并更多地自定义向导的行为。

实施例

的.aspx:

<asp:Wizard ID="myWiz" runat="server" 
  OnNextButtonClick="myWiz_NextButtonClick"
  OnPreviousButtonClick="myWiz_PreviousButtonClick"
  OnFinishButtonClick="myWiz_FinishButtonClick">
    ...
    <StartNavigationTemplate>
        <asp:Button ID="StartNextButton" CssClass="NavBtn" runat="server" CommandName="MoveNext" Text="Next" />
    </StartNavigationTemplate>
    <StepNavigationTemplate>
        <asp:Button ID="StepPreviousButton" CssClass="NavBtn" runat="server" CausesValidation="False" CommandName="MovePrevious" Text="Previous" />
        <asp:Button ID="StepNextButton" CssClass="NavBtn" runat="server" CommandName="MoveNext" Text="Next" />
    </StepNavigationTemplate>
    <FinishNavigationTemplate>
        <asp:Button ID="FinishPreviousButton" CssClass="NavBtn" runat="server" CausesValidation="False" CommandName="MovePrevious" Text="Previous" />
        <asp:Button ID="FinishButton" CssClass="NavBtn" runat="server" CommandName="MoveComplete" Text="Finish" />
    </FinishNavigationTemplate>
    ...
</asp:Wizard>

.aspx.cs:

protected void myWiz_NextButtonClick(object sender, WizardNavigationEventArgs e) {
    switch (e.CurrentStepIndex) {
        case 0:
            // on step 0, moving to step 1


        case 1:
           // on step 1, moving to step 2

        ...
    }        
  }

  protected void myWiz_PreviousButtonClick(object sender, WizardNavigationEventArgs e) {
    switch (e.CurrentStepIndex) {
        case 1:
            // on step 1, moving to step 0


        case 2:
           // on step 2, moving to step 1

        ...
    }   
  }

  protected void myWiz_FinishButtonClick(object sender, WizardNavigationEventArgs e) {
      // Regardless of step, validate and perform wizard wrap up
  }

如需进一步参考,请查看msdn page for the Wizard controlWizard Appearance部分。