zoukankan      html  css  js  c++  java
  • ASP.NET2.0控件一览

    相比ASP.NET1.X,ASP.NET2.0带来很多的改变,本系列将从控件的方面来看看2.0的控件方面的各种新增和改进.本系列文章假设读者已经对1.x的控件比较的熟悉,因为2.0和1.x很多相同的地方将不会涉及,着重谈谈不一样的地方,方便大家对ASP.NET2.0的控件有进一步的了解和更快的掌握.(PS:本系列算是自己的学习心得,很多地方不足,望大家指正.)

    好了,废话少说,让我们开始进入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 编码转换为其文本表示形式。例如,<b> 标记将呈现为 &lt;b&gt;。当希望浏览器显示而不解释标记时,编码将很有用。编码对于安全也很有用,有助于防止在浏览器中执行恶意标记,显示来自不受信任的源的字符串时推荐使用此设置


    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 属性设置为要存储的值。

    该控件相当于<input type="hidden">.


    FileUpload:
    上传控件,相当于<input type="file">,用法和1.X下转化为服务器控件的<input type="file">差不多.


    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 控件的活动视图。
  • 相关阅读:
    macOS10.9+xcode6编译ffmpeg2.4.2 for ios
    [think in java]第12章 通过异常处理错误
    机房合作感受
    LeetCode 210. Course Schedule II(拓扑排序-求有向图中是否存在环)
    Java继承
    jQuery学习笔记之DOM操作、事件绑定(2)
    intellij IDEA常见操作
    log4j.properties配置详解
    jQuery学习笔记之概念(1)
    VC常用代码之创建进程
  • 原文地址:https://www.cnblogs.com/tommyli/p/527329.html
Copyright © 2011-2022 走看看