带你了解什么是标准控件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web 程序设计——ASP.NET实用网站开发
12
<
<
<
<
鼠标在控件上方移动时触发 input id="btn4" type="button" value="MouseMove" onmous emove="alert('Hi,你好!');"> 双击控件时触发 input id="btn5" type="button" value="DblClick" ondblclick=" alert('Hi,你好!');"> 当焦点在控件时,按键时触发 input id="btn6" type="button" value="KeyPress" onkeypress= "alert('Hi,你好!');"> 按键按下时触发 input id="btn7" type="button" value="KeyDown" onkeydown= "alert('Hi,你好!');">
标准控件
Web 服务器控件
选择控件 容器控件
验证控件 用户控件
其它专用控件 数据库控件
Web 程序设计——ASP.NET实用网站开发
20
4.3 标准控件
属性名 AccessKey Attributes BackColor BoderWidth 说明 控件的键盘快捷键 控件的所有属性集合 控件的背景色 控件的边框宽度 属性名 Font Height ID TabIndex 控件的字体属性 控件的高度 控件的编程标识符 控件的索引顺序 说明
System.Web.UI.Control.WebControls直接或间接
派生而来的。
Web 程序设计——ASP.NET实用网站开发
17
二、控件和页面的执行过程
1. 服务器端控件的执行过程 2. ASP.NET 页面的处理过程
当用户通过浏览器发出一个对 ASP.NET页面的请 当用户请求一个包含有Web服务器端控件的 .aspx 求后,Web服务器将用户的请求交由ASP.NET引擎来 页面时,服务器首先对页面进行处理,将页面中包含 处理。系统首先会检查在服务器缓存中是否有该页 的服务端控件及其他内容解释成标准的 HTML代码,然 面,或此页面是否已被编译成了 .dll文件 后将处理结果以标准 HTML的形式一次性发送给客户端。 (Dynamic Link Library,动态链接库)。若没有 则将页面转换为源程序代码,然后由编译器将其编 译成.dll文件,否则直接利用已编译过的.dll文件 建立对象,并将执行结果返回到客户端浏览器。
Web 程序设计——ASP.NET实用网站开发
9
4.2 ASP.NET 4.5服务器控件概述
HTML服务器控件:常用于升级原有的ASP3.0 页面到ASP.NET页面。
Web服务器控件:目前的ASP.NET 4.5网站建 设中,优先考虑Web服务器控件。当Web服务 器控件无法完成特定的任务时,可考虑HTML 服务器控件。
Web 程序设计——ASP.NET实用网站开发
11
如下是一些Html常用的事件: 在浏览器上执行的Html控件事件:
单击时触发: <input id="btn1" type="button" value="Click Me" onclick="alert('Hi,你好!');"> 鼠标弹起时触发: <input id="btn2" type="button" value="MouseUp" onmouseup="alert('Hi,你好!');"> 悬浮在控件上方时触发: <input id="btn3" type="button" value="MouseOver" onmouseover="alert('Hi,你好!');">
Web 程序设计——ASP.NET实用网站开发
22
实例4-2 通过键盘快捷键激活特定文本框
当按下ALT+N时,将激活用户名右边的文本 框;当按下ALT+P时将激活密码右边的文本框。 源程序:Label.aspx
目录
4.3.9 HyperLink控件
4.3.10 Table控件 4.3.11 Panel和PlaceHolder控件 4.3.12 MultiView和View控件 4.3.13 Wizard控件
4.4 小结
Web 程序设计——ASP.NET实用网站开发
1
4.1 ASP.NET 4.5页面事件处理
Web 程序设计——ASP.NET实用网站开发
4
例题:
运行程序,页面显示后完成如下功能:初始时列表框显示部 分省,在文本框添加省信息且单击“确定”按钮后,可将省 信息添加至列表框。
Web 程序设计——ASP.NET实用网站开发
5
4.1.2 IsPostBack属性
当控件的事件被触发时, Page_Load 注意:当 .aspx文件中@ Page 指令的 事件会在 AutoEventWireup 属性值为true时,ASP.NET 4.5 控件的事件之前被触发。如果想在执行控件的 能自动将页面事件绑定到名为“Page_事件名” 事件代码时不执行 Page_Load 事件中的代码, 的方法。而要把控件事件绑定到对应的方法,需 可以通过判断属性 Page.IsPostBack实现。 要设置名为“ On事件名”的属性。 属性 IsPostBack 在用户第一次浏览网页时,会 返回值false,否则返回值true。
从此处调用 Page_Load 事件
private void Page_Load(object sender, System.EventArgs e { //页面加载时执行的代码
}
只要加载页面,就会执行 Page_Load 事件内的代码
Web 程序设计——ASP.NET实用网站开发
8
关于Page.IsPostBack属性
该属性为逻辑值,指示当前页面是否为响应客户端回 发而加载,或者页面是否被首次加载。当值为True时,
表示页面是为响应客户端回发而加载,值为False时,
表示页面为首次加载。 private void Page_Load(object sender, System.EventArgs e) { Page.IsPostback 属性用于检查页面是否为首次加载 if (! IsPostBack) 如果 Page.IsPostBack 属性值为False,则此页面为 { 首次加载 //代码 } } Page_ Load 事件中的某些代码,要求只有在首次 只有首次加载页面,才会执行 此部分代码 加载页面时才执行,可使用IsPostBack属性实现。
BoderStyle
CssClass CssStyle Enabled
控件的边框样式
控件的CSS类名 控件的样式 是否启用Web服务器控件
Text
ToolTip Visible Width
控件上显示的文本
当鼠标悬停在控件上时显示的文本 控件是否在Web页上显示 控件的宽度
Web 程序设计——ASP.NET实用网站开发
<input id="Button2" type="button" value="button" />
<input id="Button2" type="button" value="button" runat="server" />
Web 程序设计——ASP.NET实用网站开发
15
使用HTML服务器控件的方法
Web 程序设计——ASP.NET实用网站开发
6
基于请求/应答的模式
2
5 1 4
回发之 后的值 进行更改 HTML页 HTML页
6
3
Web 程序设计——ASP.NET实用网站开发
7
Page_Load 事件
在加载页面时会触发 Page_Load 事件 ASP.NET 将自动调用 Page_Load 程序,并 执行其中的代码
18
Web 程序设计——ASP.NET实用网站开发
4.2.2 Web服务器控件简介
根据功能不同分成标准控件、数据控件、验证
控件、导航控件、登录控件、WebParts控件、
AJAX Extensions控件和用Biblioteka Baidu自定义控件。
Web 程序设计——ASP.NET实用网站开发
19
文本输入控件
控制权转移控件
控件事件:处理特定事件,如Button控件的Click事件。
事件处理的先后顺序 Page_PreInit、Page_Init、Page_Load和控件的事件
Web 程序设计——ASP.NET实用网站开发
3
4.1.1 ASP.NET 4.5事件(续)
控件事件以Click和Changed事件为主。 Click事件被触发时会引起页面往返处理,即页 面将被重新执行并触发Page.Load等事件。 Change事件被触发时,先将事件的信息暂时保 注意:当通过“属性”窗口设置值为逻辑值的控 件属性时,值默认采用 Pascal形式。实际上,在 存在客户端的缓冲区中,等到下一次向服务器 .aspx文件中的逻辑值不区分大小写,但在.aspx.cs 传递信息时,再和其他信息一起发送给服务器。 文件中的逻辑值必须全部用小写字母表示。 若要让控件的Change事件立即得到服务器的响 应,就需要将该控件的属性AutoPostBack值设 为true。
添加HTML控件(如Button) (1) 在源视图中注明onclick,并在 <script>…</script>定义onclick事件
(2)在代码文件.cs的Page_Load事件中注册事件
Web 程序设计——ASP.NET实用网站开发
3. 服务器端控件
在Visual Studio的工具箱中,只有“HTML”选 项卡中的控件是客户端控件(也称为浏览器控 件),其他所有控件都是Web服务器端控件。其 中“标准”选项卡中的控件是最常用的控件。在 类库中,所有Web控件都是从
Web 程序设计——ASP.NET实用网站开发
14
2.HTML服务器控件简介
实现了将XHTML元素到服务器控件的转换。经过 转换后,Web窗体页就可访问XHTML元素 (HTML服务器控件),从而实现在服务器端对 HTML服务器控件的编程。
添加属性“runat="server" ”将转换XHTML元素到 HTML服务器控件。
只有熟悉ASP.NET 4.5页面事件处理流程,才能
理解代码的执行顺序。
Web 程序设计——ASP.NET实用网站开发
2
4.1.1 ASP.NET 4.5事件
常用页面处理事件 Page_PreInit:通过IsPostBack属性确定是否第一次处理 该页、创建动态控件、动态设置主题属性、读取配置文 件属性等。 Page_Init:初始化控件属性。 Page_Load:读取和更新控件属性。
Web 程序设计——ASP.NET实用网站开发
10
Html控件与Web控件最大的区别是它们对事件 处理的方法不同。对于Html控件,当引发一个事 件时,浏览器会处理它。但对于Web控件,事件仅 由浏览器生成,但浏览器不会处理它,客户端要 给服务器发个信息,告诉服务器处理事件。 不过 有些事件,比如: 按下键/移动/鼠标等事件,Asp.net中没有这些 事件(因为这些事件即时性强,服务器处理得不够 及时),这时候Html控件就发挥其作用了,结合 Html事件协助完成。
13
Web 程序设计——ASP.NET实用网站开发
一、HTML控件和服务器端控件的概念
1. HTML控件
HTML控件在默认情况下属于客户端(浏览器)控 件,服务器无法对其进行控制,只能在客户端通过 javascript和vbscript等脚本语言来控制 。HTML控 件是从HTML标记衍生而来的,每个控件对应于一个或 一组HTML标记。例如,前面我们经常使用的HTML表格 控件,就是一个常用于页面布局工具的 HTML控件,如 果不使用工具箱中的控件,而直接在源视图中书写相 应的HTML代码也可以得到相同的效果,但使用控件可 以节省大量的代码书写时间,且使操作变成了可视化 的方式。
21
4.3.1 Label控件
用于在浏览器上显示文本,可以在服务器端动 态地修改文本。 通过Text属性指定控件显示的内容。定义的语 法格式如下:
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
很实用的属性AssociatedControlID:值可把 Label控件与窗体中另一个服务器控件关联起 来。