<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標籤也會沿服務器控件顯示/隱藏 –