前言

    学习没有会不会,只有多与少!学习要学会联系旧知识!!

    发现ASP.Net中有好多的控件和以前学过的VB相似,我就利用这个稻草,把它们和VB中的对比学习,提高自己的兴趣。

一、ASP.NET控件总览

首先看我整理的导图:

【B/S】Asp.Net控件总结_vb

图一 控件

    我们知道为了提高验证的速度,我们设置了服务器控件和非服务器控件。

  • 服务器控件:触发事件后会立即将数据,传到服务器,经过服务器的处理计算,把计算结果再返回到控件,使得控件做出反应。
  • html控件:触发事件后会自己进行判断,判断方法如使用JavaScript脚本等,反应速度必然比服务器控件快。
    两者之间的区别在于,html控件的语句中,如果添加上“ runat=“server” ”,其数据也会到服务器进行判断。最后再输出。

【B/S】Asp.Net控件总结_服务器控件_02

图二 html与Web控件对比

二、Web服务器控件

    在VS中此类控件可以划分在工具箱中的标准类中。大部分控件都会在标准中,属于典型的使用控件。调用不同标准的.net framework也会影响控件的变化。

    Web服务器控件可以分成两大类:Web界面设置控件和验证控件。 所实话asp.net这些控件都是非常喜欢用的,见到他们就像见到自己的兄弟,首先他们有相似的常用打的共有属性:

表1 公共属性

属性名

说明

AccessKey

键盘快捷键

Atttributes

所有属性集合

BackColor

背景色

BoderWidth

边框宽度

BorderStyle

边框样式

CssClass

CSS

Enable

是否启用

Font

字体

Height

高度

ID

编程标识符

Text

显示的文本

ToolTip

鼠标悬停显示的文本

Visible

是否可见

Width

宽度

1、lable

非常常用,在浏览器中显示数据,可以在服务器端动态修改数据。通过text属性显示数据。

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

有一个很有用的属性AssociaedControlID,把lable控件和另一个服务去控件绑定在一起。

2、TextBox

用于显示或输入数据。
语法:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

此处要特别提示一下AotoPostBack属性,当为True的时候,表示文本框内容改变且把焦点移出文本框时触发TextChange事件,引起页面往返处理。

3、Button

想必这个控件大家都不会陌生了吧!在哪里都会用到。
Web窗体中的按钮有Button、LinkButton和ImageButton三种形式。知识外观有区别,在这里就不多介绍了。
语法:

<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
<asp:ImageButton ID="ImageButton1" runat="server" />

4、DropDownList

允许用户从预定义的下拉列表中选择一项。
语法:

<asp:DropDownList ID="DropDownList1" runat="server">
...
</asp:DropDownList>

这个控件也是比较常用的,其中有的属性:

表2 DropDownList控件属性+方法+事件

属性事件、方法

说明

DataSource属性

使用的数据源

DataTextField属性

数据源的一个字段,该字段下的所有内容都会被显示在下拉菜单中

DataValueField属性

指定下拉列表中每个可选的值

Item属性

列表中所有选项的集合,经常使用Items.Add()方法添加,Clear方法删除所有项

SelectedItem属性

当前选定项

SelectedValue属性

当前选定项的属性Value值

SelectIndexChangeed事件

选择下拉菜单中一项触发的事件

DataBind()方法

绑定数据源

     这个控件添加项的方法有三种。一种是在属性窗口中直接对属性Item进行设置,如图。

【B/S】Asp.Net控件总结_控件_03

图三 item添加内容

     在图三中,设置成员的属性Select值为True,可以使得其为默认值。

    另外一种是利用Item.Add()方法添加,
eg:

DropDownList1.Item.Add(new ListItem("web","web"));
或者是
DropDownList1.Item.Add("字符串");

    第三种是利用数据绑定,很多控件都有这种功能,这种绑定方式将会在下一篇博客给大家集中展示。

5、ListBox

    类似DropDownList,允许用户在列表中选择。
语法:

<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>

6、CheckBox和CheckBoxList

    为用户提供 真/假,是否,开关之间的选择,如果需要多个,可以用多个CheckBox或一个CheckBoxList。
语法:

<asp:CheckBoxList ID="CheckBoxList1" runat="server">
        </asp:CheckBoxList>
        <asp:CheckBox ID="CheckBox1" runat="server" />

7、RadioButton和RadioButtonList

    同checkbox,语法:

<asp:RadioButton ID="RadioButton1" runat="server" />
        <br />
        <asp:RadioButtonList ID="RadioButtonList1" runat="server">
        </asp:RadioButtonList>

8、验证控件

    网站开发时,经常会使用表单获取用户的信息,如注册信息,消息反馈。为了防止垃圾信息,甚至空信息条目被收集,就需要开发人员以编程的方式来判断数据是否满足要求,便产生了验证控件。欢迎来阅读《WEB服务器验证控件》

三、Html控件

    HTML控件是为了兼容性考虑的,如果某些控件不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能。
    HTML控件类型基本和web一致,只是没有”runat=server“。

    WEB服务器控件是HTML控件的一种扩展,区别是:

1)前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。

2)输入到前者中的数据在请求之间可以维护(即具有状态管理功能),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。

3)前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。

4)每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。

四、用户控件和自定义控件

    有时可能需要控件中具有内置 ASP.NET Web 服务器控件未提供的功能。在这种情况下,您可以创建自己的控件。有两个选择。您可以创建:

  • 用户控件。用户控件是能够在其中放置标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。
  • 自定义控件。自定义控件是编写的一个类,此类从 Control 或 WebControl 派生。

四、学习心得

学习是有方法的!学习是快乐的!

在学习asp.net中,32集视频用了9天的时间看完了,做了10篇笔记。敲出了老师讲解的所有的例子,可能有的人会认为,这么多的视频什么时候看完, 什么时候才能学会?我就不这么想,我学在其中,乐哉!我想的是我怎样能在这个视频中能收货更多,每一个例子都是我前进的激励,每句笔记都是在提示我!