Asp.net中的CheckBox控件(c#)

时间:2011-08-02 07:35:12

标签: c# asp.net checkbox

代码:

   <asp:CheckBox ID="CheckBox1" runat="server" 
    oncheckedchanged="CheckBox1_CheckedChanged" />

C#

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{

}

我在表单中添加了复选框。

选中复选框后,复选框下方应显示一些信息(TextBox,Label等)。

我该怎么做?

5 个答案:

答案 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";
}