C# 如何从服务器端显示/隐藏按钮?

C# 如何从服务器端显示/隐藏按钮?,c#,asp.net,C#,Asp.net,我是ASP.NET和C#的新手,我尝试了一些东西,但没有成功。我有一个.aspx页面,其中有三个按钮,如下代码所示: <body> <form id="htmlForm" runat="server"> <telerik:RadScriptManager ID="rsm" AsyncPostBackTimeout="1800" runat="server" /> <telerik:RadAjaxPanel ID="rap" runat

我是ASP.NET和C#的新手,我尝试了一些东西,但没有成功。我有一个.aspx页面,其中有三个按钮,如下代码所示:

<body>
<form id="htmlForm" runat="server">  
    <telerik:RadScriptManager ID="rsm" AsyncPostBackTimeout="1800" runat="server" />
    <telerik:RadAjaxPanel ID="rap" runat="server" LoadingPanelID="ralp">
        <table>
            <tr>
                <td colspan="2">
                    Invoice Download
                </td>
            </tr>
            <tr>
                <td>
                    Invoice Start #
                </td>
                <td>
                    <telerik:RadNumericTextBox ID="rntbStart" Runat="server" MaxValue="1000000" MinValue="1000" Width="75px" >
                        <NumberFormat DecimalDigits="0" GroupSeparator="" />
                    </telerik:RadNumericTextBox>
                </td>
            </tr>
            <tr>
                <td>
                    Invoice End #
                </td>
                <td>
                    <telerik:RadNumericTextBox ID="rntbEnd" Runat="server" MaxValue="1000000" MinValue="1000" Width="75px" >
                        <NumberFormat DecimalDigits="0" GroupSeparator="" />
                    </telerik:RadNumericTextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Button ID="cmdDownload" runat="server" Text="Download" />
                    <asp:Button ID="cmdDownloadSAP" runat="server" Text="Download SAP" />
                </td>
            </tr>
        </table>
        <asp:Label ID="lblResult" runat="server" Text=""></asp:Label>
    </telerik:RadAjaxPanel>
    <telerik:RadAjaxLoadingPanel ID="ralp" Runat="server" Skin="Default" />
    <asp:Button ID="btnConform" Visible="false" runat="server" Text="Conform Download" OnClick="btnConform_Click" />
</form>
这是行不通的。
很抱歉更改了问题的内容(因为旧内容没有正确指出问题)。这是我正在尝试的实际代码。(破坏完整的代码看起来很愚蠢…

使用标记将
可见属性添加到
按钮
以初始设置第二个按钮的可见性:

 <asp:Button ID="btnOne" runat="server" Text="One" OnClick="btnOne_Click" />

 <asp:Button ID="btnTwo" runat="server" Visible="False" Text="Two" OnClick="btnTwo_Click" />

您可以使用以下命令更改可见性:

如果要使服务器控件最初不可见,还必须使用此属性,因此可以使用codebehind以编程方式或在aspx页面上声明方式更改可见性:

 <asp:Button ID="btnTwo" Visible="false" runat="server" Text="Two" OnClick="btnTwo_Click" />

无论何时,只要你想在服务器端执行,就会执行回发。我在一个示例应用程序中这样做,它确实可以工作。但是我尝试使用的应用程序我不确定它为什么不起作用。@rahulchrty:如果在事件处理程序上设置了断点,它们会被命中吗?@rahulchrty:也许你的应用程序中有代码已经控制了可见性,例如在
页面加载中。如果没有看到您的代码,很难提供帮助。对不起,我对问题做了一些更改,希望这能解释我的错误problem@rahulchrty:您尚未在当前代码中注册事件处理程序,是吗?您是否已使用调试器检查代码是否已执行?可能是异常阻止了可见性的最终更改。我已经编辑了我的答案。他不希望按钮1在按下时不可见clicked@captainsac:对不起,我误解了这个问题。谢谢你的提醒。
protected void btnOne_Click(object sender, EventArgs e)
{
    btnTwo.Visible = true;
}

protected void btnTwo_Click(object sender, EventArgs e)
{
    btnTwo.Visible = false;
}
protected void btnOne_Click(object sender, EventArgs e)
{
    //require code to make it visible
    btnTwo.Visible = true;
}


protected void btnTwo_Click(object sender, EventArgs e)
{
    //require code to make it invisible
    btnTwo.Visible = false;
}
 <asp:Button ID="btnTwo" Visible="false" runat="server" Text="Two" OnClick="btnTwo_Click" />
<asp:Button ID="cmdDownload" OnClick="cmdDownload_Click" runat="server" Text="Download" />
<asp:Button ID="cmdDownloadSAP" OnClick="cmdDownload0_Click" runat="server" Text="Download SAP" />