隐藏和显示标签和按钮

时间:2013-01-22 09:35:05

标签: c# asp.net

我有2个标签,2个文本框和1个按钮显示。

页面加载NameButton时(最初会显示)。稍后当我点击Button时,我需要显示age labeltextbox。我怎么能这样做?

<ol>
     <li>
          <asp:Label runat="server" AssociatedControlID="Name">
             User name
          </asp:Label>
          <asp:TextBox runat="server" ID="Name" Width="167px" />
          <asp:Button ID="Button1" runat="server" Text="Button" />
     </li>                           
     <li>
          <asp:Label runat="server" AssociatedControlID="age">age</asp:Label>
          <asp:TextBox runat="server" ID="age" TextMode="age" Width="240px" />
     </li>                         
</ol>

按下按钮的代码

protected void Button1_Click(object sender, EventArgs e)
{

}

5 个答案:

答案 0 :(得分:6)

您可以在服务器端将标签/文本框Visible属性设置为True。或者,您可以使用JavaScript来避免回发到服务器。

OnClientClick添加到button

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="ShowLabel();"/>

并在页面上声明JavaScript函数:

<script type="text/javascript">
    function ShowLabel() {
      // Note that the client ID might be different from the server side ID
      document.getElementById('lblAge').style.display = 'inherit';
    }
</script>

您最初需要将Label显示样式设置为none

<asp:Label ID="lblAge" style="display: none;" runat="server" AssociatedControlID="age">age</asp:Label>

答案 1 :(得分:4)

尝试以下代码:

您需要根据您的要求将控件的Visible属性设置为True或False。默认情况下,只要在页面上添加控件,屏幕上就会显示所有控件。您需要执行以下操作:

  1. 您需要删除TextMode="age",因为没有任何类型为age的文本模式支持。
  2. 如果要在后面的代码中访问控制服务器端,则需要定义控件的ID。因此,请定义与Age文本框对应的Label的ID。
  3. 默认情况下,使用以下代码无法显示年龄标签和文本框:

          <asp:Label ID="lblAge" runat="server" AssociatedControlID="age" Visible="false">age</asp:Label>
          <asp:TextBox runat="server" ID="age" Width="240px"  Visible="false"/>
    

    代码背后: 按钮点击年龄标签后,使用以下代码可以看到文本框:

    protected void Button1_Click(object sender, EventArgs e)
        {
            lblAge.Visible = true;
            age.Visible = true;
        }
    

答案 2 :(得分:2)

首先向元素添加id并设置visible false

<asp:Label runat="server" AssociatedControlID="age" Visible="false" Id="lbl1">age</asp:Label>
<asp:TextBox runat="server" ID="age" TextMode="age" Width="240px" Visible="false" /> 

按钮点击事件集visible true

protected void Button1_Click(object sender, EventArgs e)
{
    lbl1.Visible = True;
    age.Visible = True;
}

答案 3 :(得分:1)

这是asp.net的基本概念。您可以使用控件的可见属性。

  1. 您的TextMode枚举错误。 Textbox.TextMode TextMode
  2. 没有Age枚举

    <li> <asp:Label runat="server" AssociatedControlID="age" id="lblAge">age</asp:Label> <asp:TextBox runat="server" ID="age" TextMode="age" Width="240px" /> </li>

    中的代码

    protected void Button1_Click(object sender, EventArgs e)
    {
      lblAge.Visible=true;
      age.Visible=true;
    }
    

答案 4 :(得分:1)

    protected void Page_Load(object sender, EventArgs e)
    {
        NameLabel.Visible = false;
        NameBox.Visible = false;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        NameLabel.Visible = true;
        NameBox.Visible = true;
    }
相关问题