分享
 
 
 

ASP.NET - Panel Web 服务器控件概述

王朝学院·作者佚名  2009-11-26
窄屏简体版  字體: |||超大  

Panel Web 服务器控件在 ASP.NET 网页内提供了一种容器控件,您可以将它用作静态文本和其他控件的父级。

一、背景

可以将 Panel 控件用作其他控件的容器。当以编程方创建内容并需要一种将内容插入到页中的方法时,此方法尤为适用。以下部分描述了可以使用 Panel 控件的其他方法。

1、动态生成的控件的容器

Panel 控件为在运行时创建的控件提供了一个方便的容器。

2、对控件和标记进行分组

对于一组控件和相关的标记,可以通过把其放置在 Panel 控件中,然后操作此 Panel 控件的方式将它们作为一个单元进行管理。例如,可以通过设置面板的 Visible 属性来隐藏或显示该面板中的一组控件。

3、具有默认按钮的窗体

可将 TextBox 控件和 Button 控件放置在 Panel 控件中,然后通过将 Panel 控件的 DefaultButton 属性设置为面板中某个按钮的 ID 来定义一个默认的按钮。如果用户在面板内的文本框中进行输入时按 Enter,这与用户单击特定的默认按钮具有相同的效果。这有助于用户更有效地使用项目窗体。

4、向其他控件添加滚动条

有些控件(如 TreeView 控件)没有内置的滚动条。通过在 Panel 控件中放置滚动条控件,可以添加滚动行为。若要向 Panel 控件添加滚动条,请设置 Height 和 Width 属性,将 Panel 控件限制为特定的大小,然后再设置 ScrollBars 属性。

4、页上的自定义区域

可使用 Panel 控件在页上创建具有自定义外观和行为的区域,如下所示:

·创建一个带标题的分组框: 可设置 GroupingText 属性来显示标题。呈现页时,Panel 控件的周围将显示一个包含标题的框,其标题是您指定的文本。

说明: 不能在 Panel 控件中同时指定滚动条和分组文本。如果设置了分组文本,其优先级高于滚动条。

·在页上创建具有自定义颜色或其他外观的区域: Panel 控件支持外观属性(例如 BackColor 和 BorderWidth),可以设置外观属性为页上的某个区域创建独特的外观。

说明: 设置 GroupingText 属性将自动在 Panel 控件周围呈现一个边框。

二、如何:向 Web 窗体页添加 Panel 控件

1、在“设计”视图中,从工具箱的“标准”选项卡中,将 Panel 控件拖到页面上。

2、若要创建静态文本,请在控件中单击,然后键入文本。若要添加控件,请将它们从“工具箱”拖到 Panel 控件中。

说明: 若要在运行时向 Panel 控件添加静态文本,则需要创建 Literal 控件并设置它的 Text 属性。然后,可以通过编程方式将 Literal 对象添加到面板中,方法与添加任何控件相同。有关添加控件的详细信息,请参见 如何:以编程方式向 ASP.NET 网页添加控件。

3、还可以选择拖动面板的边框以调整控件的大小。

说明: 该控件会自动调整自身的大小以显示其所有的子控件(即使它们超出了设置的高度)。

4、另外还可以选择,设置 Panel 控件的属性(如下表所述),以指定窗格与其子控件的交互方式。

属性

说明

HorizontalAlign

指定子控件在面板内的对齐方式(左对齐、右对齐、居中或两端对齐)。

Wrap

指定面板内过宽的内容是换到下一行,还是在面板边缘处截断。

Direction

指定控件的内容是从左至右呈现还是从右至左呈现。当在页面上创建与整个页面的方向不同的区域时,此属性非常有用。

ScrollBars

如果已经设置了 Height 和 Width 属性以将 Panel 控件限制为特定的大小,则可以通过设置 ScrollBars 属性来添加滚动条。

GroupingText

在 Panel 控件周围呈现边框和标题。

说明:

设置 GroupingText 属性会导致滚动条不显示(如果您指定了滚动条)。

三、Panel 类

Panel 控件是其他控件的容器。当要以编程方式生成控件、隐藏/显示一组控件或本地化一组控件时,该控件尤其有用。

Direction 属性对于本地化 Panel 控件的内容以显示从右到左书写的语言(如阿拉伯语或希伯来语)的文本非常有用。

Panel 控件提供了几个属性,使用这些属性可以自定义该控件内容的行为和显示。使用 BackImageUrl 属性为 Panel 控件显示一个自定义图像。使用 ScrollBars 属性为控件指定滚动条。

示例

1、下面的示例说明如何使用 Panel 控件以编程方式生成控件和隐藏/显示一组控件。

说明: 下面的代码示例使用单文件代码模型,当它直接复制到代码隐藏文件时可能不能正常工作。此代码示例必须被复制到具有 .aspx 扩展名的空文本文件中。

<%@ Page Language="C#" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >

<head>

<title>Panel Example</title>

<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 id="form1" runat="server">

<asp:Panel id="Panel1" runat="server"

BackColor="gainsboro"

Height="200px"

Width="300px">

Panel1: Here is some static content...

<br />

</asp:Panel>

<br />

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>

<br />

<asp:CheckBox id="Check1" Text="Hide Panel" runat="server"/>

<br />

<asp:Button Text="Refresh Panel" runat="server"/>

</form>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有