1

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

当页面加载NameButton(将最初显示)。稍后当我单击时,Button我需要显示age labeland textbox。我怎样才能做到这一点 ?

<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)
{

}
4

5 回答 5

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>
于 2013-01-22T09:50:18.133 回答
5

试试下面的代码:

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

  1. 您需要删除TextMode="age",因为没有任何支持的年龄类型的文本模式。
  2. 如果要在后面的代码中访问控制服务器端,则需要定义控制 ID。因此,定义与 Age 文本框相对应的 Label 的 ID。

默认情况下,使用以下代码将看不到年龄标签和文本框:

      <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;
    }
于 2013-01-22T09:45:36.007 回答
2

首先添加id到元素并设置为visiblefalse

<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

protected void Button1_Click(object sender, EventArgs e)
{
    lbl1.Visible = True;
    age.Visible = True;
}
于 2013-01-22T09:42:32.323 回答
1

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

  1. 您的 TextMode 枚举是错误的。Textbox.TextMode TextMode没有 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;
}
于 2013-01-22T09:42:15.420 回答
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;
    }
于 2014-11-13T06:17:13.523 回答