代码:
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" />
C#
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
}
我在表单中添加了复选框。
选中复选框后,复选框下方应显示一些信息(TextBox,Label等)。
我该怎么做?
答案 0 :(得分:6)
不要忘记autopostback = true
<asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" AutoPostBack="true" />
<asp:Panel runat="server" ID="panel1"></asp:Panel>
-
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
panel1.Controls.Add(new Label { Text = "Text goes here" });
}
这允许您添加任何您想要的控件。
答案 1 :(得分:2)
只需添加TextBox,Label等控件并使其不可见。
然后在CheckBox1_CheckedChanged
函数中使它们可见。
这是通过设置bool Visible
属性
<asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" />
<asp:TextBox ID="textBox" runat="server" Visible=false />
和
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
textBox.Visible = true;
}
答案 2 :(得分:1)
在复选框标记
下添加新的文字控件<asp:Literal id="lblMsg" runat="server"/>
然后在你的CheckBox1_CheckedChanged事件中:
lblMsg.Text = "Checked";
并将您的复选框的AutoPostBack
属性设置为true
答案 3 :(得分:1)
我建议使用javascript进行此操作。您的用户不必“回发”,应用程序的感觉会更好,您将减少服务器费用。
使用jQuery,您可以使用以下内容:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#chk").onclick(function() {
$("#content").toggle();
});
});
</script>
<input type="Checkbox" id="chk"/>
<div id="content" style="display:none">
<asp:TextBox runat="Server" id="oneOfYourControls" />
</div>
jQuery不是强制性的......您可以使用标准的简单getElementById()
。
唯一的缺点是你无法动态构建内容,但在大多数情况下,这实际上不是一件事
答案 4 :(得分:0)
在Checked Changed Event中编写如下代码:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Label1.Text = "Text";
}