Panel控件的使用
1楼 Panel 控件是其他控件的容器。如果打算以编程方式生成多个控件或者打算隐藏/显示一组控件,此控件尤其有用。 下例说明如何使用 Panel 控件以编程方式生成控件和隐藏/显示一组控件。 void Page_L
·
1楼
Panel 控件是其他控件的容器。如果打算以编程方式生成多个控件或者打算隐藏/显示一组控件,此控件尤其有用。
下例说明如何使用 Panel 控件以编程方式生成控件和隐藏/显示一组控件。
<%@ Page Language="C#" %>
<html>
<head>
<script runat="server">
void Page_Load(Object sender, EventArgs e) {
// Show or hide the Panel contents.
if (Check1.Checked) {
Panel1.Visible=false;
}
else {
Panel1.Visible=true;
}
// Generate the Label controls.
int numlabels = Int32.Parse(DropDown1.SelectedItem.Value);
for (int i=1; i<=numlabels; i++) {
Label l = new Label();
l.Text = "Label" + (i).ToString();
l.ID = "Label" + (i).ToString();
Panel1.Controls.Add(l);
Panel1.Controls.Add(new LiteralControl("<br>"));
}
// Generate the Textbox controls.
int numtexts = Int32.Parse(DropDown2.SelectedItem.Value);
for (int i=1; i<=numtexts; i++) {
TextBox t = new TextBox();
t.Text = "TextBox" + (i).ToString();
t.ID = "TextBox" + (i).ToString();
Panel1.Controls.Add(t);
Panel1.Controls.Add(new LiteralControl("<br>"));
}
}
</script>
</head>
<body>
<h3>Panel Example</h3>
<form runat=server>
<asp:Panel id="Panel1" runat="server"
BackColor="gainsboro"
Height="200px"
Width="300px">
Panel1: Here is some static content...
<p>
</asp:Panel>
<p>
Generate Labels:
<asp:DropDownList id=DropDown1 runat="server">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:DropDownList>
<br>
Generate TextBoxes:
<asp:DropDownList id=DropDown2 runat="server">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:DropDownList>
<p>
<asp:CheckBox id="Check1" Text="Hide Panel" runat="server"/>
<p>
<asp:Button Text="Refresh Panel" runat="server"/>
</form>
</body>
</html>
.net文档中和快速入门中有详细的示例,何必舍近求远呢!
3楼
我也大量用Panel,布局和显隐控件。
4楼
qz4365(冷风清扬),这样做的话还有什么意义呢?能不能说说把代码放在aspx.cs文件中的做法?我自己尝试了一下,老是错误!所以才来请教大家……
webdiyer(webdiyer) :快速入门中?哪里呢?
5楼
codebehind和把代码写在aspx中是完全等价的.你也可以把其中的代码部分放在aspx.cs中而不必做任何改动.
可以参考MSDN的快速入门中关于panel的例子:
ms-help://MS.VSCC/MS.MSDNVS.2052/Cpqstart/html/cpsmpnetsamples-aspnetservercontrolreference.htm#cpsmppanel1sample
6楼
那段代码我很多地方看不懂,你看能不能做个详细的解释或者浓缩一下代码,把不相关的部分去掉再解释……非常感谢……
7楼
例子主要是说明panel的两个用法:显示隐藏和向容器中添加删除控件
1.显示:Panel1.Visible=true;
隐藏:Panel1.Visible=false;
这样,所有panel容器的控件都会同是显示或隐藏.
2.添加/删除
向容器添加控件:
TextBox t = new TextBox();
t.Text = "TextBox1";
t.ID = "TextBox1";
Panel1.Controls.Add(t);
添加HTML脚本:
Panel1.Controls.Add(new LiteralControl("<br/>"));
删除:
this.Panel1.Controls.Remove(TextBox1);
更多推荐
已为社区贡献1条内容
所有评论(0)