您的位置:首页 > 编程语言 > ASP

ASP.NET2.0控件一览

2007-08-01 11:36 260 查看
ASP.NET2.0控件一览
相比ASP.NET1.X,ASP.NET2.0带来很多的改变,本系列将从控件的方面来看看2.0的控件方面的各种新增和改进.本系列文章假设读者已经对1.x的控件比较的熟悉,因为2.0和1.x很多相同的地方将不会涉及,着重谈谈不一样的地方,方便大家对ASP.NET2.0的控件有进一步的了解和更快的掌握.

  ASP.NET 2.0 引入了许多新的服务器控件,能够为数据访问、登录安全、向导导航、菜单、树视图、门户等提供功能强大的声明性支持。这些控件中,许多都利用了 ASP.NET 的核心应用程序服务,用于数据访问、成员资格与角色,以及个性化设置等方案。

  目前,2.0的控件分为以下几个方面:
  标准控件、数据控件、验证控件、登录控件、导航控件、Web部件控件、HTML控件、

  由于服务器控件继承自Control或WebControl类,所以2.0的控件统一多了2个重要的属性:EnableTheming(指示控件是否可以有主题),SkinID(提供控件外观的控件外观的SkinId).还有1个很有用的方法:Focus(为控件设置输入焦点).

  让我们从标准控件谈起,第一篇来看看标准控件中1.X已有的控件有哪些变化.

  Label:基本无变化.

  Literal:Mode属性:确定是转换文本还是将文本编码,可以将 Mode 属性设置为以下值:Transform(默认值):添加到控件中的任何标记都将进行转换,以适应请求浏览器的协议。PassThrough:添加到控件中的任何标记都将按原样呈现在浏览器中。Encode: 添加到控件中的任何标记都将使用 HtmlEncode 方法进行编码,该方法将把 HTML 编码转换为其文本表示形式。例如, 标记将呈现为 。当希望浏览器显示而不解释标记时,编码将很有用。编码对于安全也很有用,有助于防止在浏览器中执行恶意标记,显示来自不受信任的源的字符串时推荐使用此设置。

  TextBox:AutoCompleteType属性:记忆客户端输入的内容类型.通过这个属性可以记忆各种类型输入,比如Email.最大的好处便是只记忆想要保存的类型.

  Button:OnClientClick属性:在客户端OnClick上执行的客户端脚本.这个属性的加入,大大的方便了程序开发,不用以前那样通过代码添加属性的方式来实现客户端脚本.PostBackUrl属性:获取或设置单击 Button 控件时从当前页发送到的网页的URL。很有用的1个属性,通过这个属性使您可以使用 Button 控件执行跨页发送。默认为空,即传回本页.UseSubmitBehavior属性:属性设置为 true 以使 Button 控件使用基于客户端脚本的回发,为false便是基于ASP.NET 回发机制。(调用__doPostBack函数实现)

  LinkButton,ImageButton:同Button类似,只是没有UseSubmitBehavior属性.

  HyperLink:ImageUrl属性:显示图片的Url.设置该属性后便是图片链接.

  ASP.NET2.0中继承自ListControl类的控件,都具有1个很有用的属性AppendDataBoundItems(获取或设置一个值,该值指示是否在绑定数据之前清除列表项).但此项属性设置为True的时候,便可以实现列表项与绑定项同时存在.比如:"请选则",就可以设置为列表项,绑定数据后出现在第一项,这样便不用在后台代码增加默认项了,非常的方便.

  DropDownList:增加上述属性,其余变化不大.

  ListBox:Row属性:显示可见行的数目.

  CheckBox,CheckBoxList:基本无变化

  RadioButton,RadioButtonList:基本无变化

  Panel:ScrollBars属性:面板滚动条的外观.(把GridView放入面板上,可以很简单的实现带滚动条的GridView)GroupingText 属性:面板控件中包含的子控件的标题文本。默认值为空字符串 ("")DefaultButton属性:面板的默认按钮.可将 TextBox 控件和 Button 控件放置在 Panel 控件中,然后通过将 Panel 控件的 DefaultButton 属性设置为面板中某个按钮的 ID 来定义一个默认的按钮。如果用户在面板内的文本框中进行输入时按 Enter,这与用户单击特定的默认按钮具有相同的效果。这有助于用户更有效地使用项目窗体。
  其余控件基本上无变化.

  小结:
  本文就ASP.NET1.X和ASP.NET2.0都存在的标准控件做了个比较,写出了2.0下该类控件的变化,主要是简单的介绍,便于有1.X开发基础的程序员能够快速的掌握2.0下的原有的控件.具体的例子请参考微软的MSDN.

  BulletedList:该控件创建一个无序或有序(编号的)的项列表,它们分别呈现为 HTML ul 或 ol 元素。可以指定项、项目符号或编号的外观;静态定义列表项或通过将控件绑定到数据来定义列表项;也可以在用户单击项时作出响应。

  BulletedList 与 ListBox、DropDownList 及其他 ASP.NET 列表控件派生自相同的 ListControl 类,因此其用法与这些控件的用法类似。相信大家一定可以迅速上手,接下来谈谈特别的几个属性.BulletImageUrl属性:获取或设置为 BulletedList 控件中的每个项目符号显示的图像的路径。BulletStyle属性:指定项目符号样式。具有以下几种样式:

成员名称 说明
Circle 项目符号样式为空心圆。
CustomImage 项目符号样式为自定义图像。
Disc 项目符号样式为实心圆。
LowerAlpha 项目符号样式为小写字母(a、b、c...)。
LowerRoman 项目符号样式为小写罗马数字(i、ii、iii...)。
NotSet 不设置项目符号样式。呈现 BulletedList 控件的浏览器将决定要显示的项目符号样式。
Numbered 项目符号样式为数字(1、2、3...)。
Square 项目符号样式为实心四方形。
UpperAlpha 项目符号样式为大写字母(A、B、C...)。
UpperRoman 项目符号样式为大写罗马数字(I、II、III...)。
  DisplayMode属性:项目符号列表的显示模式.

  通过该属性,我们可以设置项目以Text,LinkButton,HyperLink三种方式来显示.
  Text:文本模式显示.
  HyperLink值允许将列表内容显示为超链接。单击超链接时,它定位到相应的URL。使用Value 属性指定超链接定位到的 URL。选择HyperLink 模式后,Target属性可以设置打开的方式.
  LinkButton 字段允许将列表内容显示为链接。当单击链接按钮时,使用 BulletedList.Click 事件回发到服务器。
  HiddenField:
  提供了一种在页面中存储信息但不显示信息的方法。例如,可以在 HiddenField 控件中存储用户首选项设置。若要将信息放入 HiddenField 控件中,请在两次回发之间将其 Value 属性设置为要存储的值。
  FileUpload:
  上传控件,相当于,用法和1.X下转化为服务器控件的差不多.
  MultiView和View:
  MultiView和View服务器控件用作其他控件和标记的容器,并提供了一种可方便地显示信息的替换视图的方式。
  使用MultiView和View控件执行如下任务:
* 可以使用MultiView和View控件作为创建多个Panel控件的一种替代方法。
* 创建多页窗体。MultiView 和View控件可以提供与Wizard控件相似的行为。Wizard控件尤其适合于创建用户分步骤填写的窗体。Wizard控件还支持更多内置 UI 元素(如页眉和页脚)、“上一页”和“下一页”按钮以及模板。如果要创建根据条件(而不是按顺序)更改的显示,或者如果不需要 Wizard 控件支持的额外功能,则可以使用 MultiView 控件来代替 Wizard。
  从上面的介绍可以知道,MultiView和View,Wizard控件的出来可以使我们更快更简单的创建出多步骤的操作.
  MultiView和View的用法非常的简单,相当于Panel,只需要把任意的View放入MultiView中即可.MultiView的ActiveView属性可以设置初始的显示View的Index.
  接下来关键的是怎样实现多个View之间的切换,我们有两种方法可以实现.
  第一种方法:
  可以向每个 View 控件添加一个按钮控件(Button、LinkButton 或 ImageButton)。然后可以将每个按钮的 CommandName 和 CommandArgument 属性设置为保留值以使 MultiView 控件移动到另一个视图。
  下表列出了保留的 CommandName 值和相应的 CommandArgument 值。
  CommandName 值 CommandArgument 值
  NextView
  (没有值)
  PrevView
  (没有值)
  SwitchViewByID要切换到的 View 控件的 ID。
  SwitchViewByIndex要切换到的 View 控件的索引号。
  下面的示例显示一个包含三个 View 控件的 MultiView 控件。每个 View 控件包含一个移动到特定 View 控件的 Button 控件。
  示例代码
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
  <asp:View ID="View1" runat="server">
View 1<br />
<br />
<asp:Button ID="Button1" runat="server"
CommandArgument="View2"
CommandName="SwitchViewByID"
Text="Go to View2" />
</asp:View>
<asp:View ID="View2" runat="server">
View 2<br />
<br />
<asp:Button ID="Button2" runat="server"
CommandArgument="View3"
CommandName="SwitchViewByID"
Text="Go to View 3" />
</asp:View>
<asp:View ID="View3" runat="server">
View 3<br />
<br />
<asp:Button ID="Button3" runat="server"
CommandArgument="View1"
CommandName="SwitchViewByID"
Text=Go to View 1" />
</asp:View>
</asp:MultiView></div>
  这种方法可以很简单的不需要代码实现View的切换.
  第二种方法就是代码控制的方式.
  MultiView.ActiveViewIndex和MultiView.SetActiveView方法可以实现.
  它们的区别就是:MultiView.ActiveViewIndex方法是设置View的索引值.View 控件的索引是由它在 MultiView 控件中的声明顺序确定的。例如,在 MultiView 控件中声明的第一个 View 控件的索引为 0。
MultiView.SetActiveView方法是将指定的 View 控件设置为 MultiView 控件的活动视图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: