Controlo da opção em Asp.net (c#)

Código:

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

C#

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{

}
Adicionei a caixa de cheques ao meu formulário.

Quando a opção estiver assinalada, algumas informações (caixa de texto, legenda, etc.) deve aparecer mesmo por baixo da caixa de seleção.

Como posso fazer isto?

Author: Neeraj Kumar, 2011-08-02

5 answers

Não te esqueças.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" });
}
Isto permite-lhe adicionar o controlo que quiser.
 5
Author: nthpixel, 2011-08-02 07:44:37

Basta adicionar uma caixa de texto, etiqueta, etc. controla e torna-os invisíveis. Em seguida, na função CheckBox1_CheckedChanged torná-los visíveis. Isto é feito definindo a propriedade bool Visible

<asp:CheckBox ID="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged" />
<asp:TextBox ID="textBox" runat="server" Visible=false />

E

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    textBox.Visible = true;
}
 1
Author: Petar Ivanov, 2011-08-02 07:38:45

Adicione um novo controlo literal sob as suas marcas,

<asp:Literal id="lblMsg" runat="server"/>

Depois, na sua opção 1_ CheckedChanged event to this:

lblMsg.Text = "Checked";

E sim definir a propriedade AutoPostBack da sua opção para true

 1
Author: Waqas, 2011-08-02 07:40:26
Eu sugeria fazer isto usando javascript. Seus usuários não terão que "postback" e a sensação na aplicação será melhor, e você vai reduzir a carga do servidor.

Usando jQuery, você pode usar algo assim:

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

O JQuery não é obrigatório... você pode usar o padrão simples getElementById().

A única desvantagem, é que você não pode construir dinamicamente o conteúdo, mas na maioria dos casos não é realmente um assunto {[[4]}

 1
Author: Steve B, 2011-08-02 08:01:14

Na opção Mudança de evento, escreva o seu código desta forma:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
     Label1.Text = "Text";
}
 0
Author: thevan, 2011-08-02 07:42:24