我有2个标签,2个文本框和1个按钮显示。
页面加载Name
和Button
时(最初会显示)。稍后当我点击Button
时,我需要显示age
label
和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)
{
}
答案 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。默认情况下,只要在页面上添加控件,屏幕上就会显示所有控件。您需要执行以下操作:
TextMode="age"
,因为没有任何类型为age的文本模式支持。默认情况下,使用以下代码无法显示年龄标签和文本框:
<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的基本概念。您可以使用控件的可见属性。
<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;
}