<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" />
C#
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
}
我添加复选框,以我的方式。
选中复选框时,复选框下方应显示一些信息(文本框,标签等)。
我怎样才能做到这一点感谢帮助
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" />
C#
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
}
我添加复选框,以我的方式。
选中复选框时,复选框下方应显示一些信息(文本框,标签等)。
我怎样才能做到这一点感谢帮助
不要忘记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" });
}
这允许你添加你想要的任何控件。
只需添加文本框,标签等的控制,使他们看不到的。 然后在CheckBox1_CheckedChanged
函数中使它们可见。 这是通过设置布尔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;
}
添加在您的复选框的标签的新文本控制,
<asp:Literal id="lblMsg" runat="server"/>
然后在CheckBox1_CheckedChanged事件这样的:
lblMsg.Text = "Checked";
和是你的复选框的AutoPostBack
属性设置为true
在经过更改事件写你这样的代码:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Label1.Text = "Text";
}
我会建议这样做使用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()
。
唯一的缺点是,你不能动态生成的内容,但在大多数情况下,这是一个不实际的事情
你应该换一个面板所有控件。与其他许多控件相比,更改单个面板控件的可见性会更简单。而且,结构性的html标签也会沿服务器控件显示/隐藏 –