- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 窗体与数据显示控件 ; Web窗体是ASP.NET的重要组成部分,是ASP.NET开发的核心。特点:
为客户端引入了HTML编程的新模式
为服务器端引入了控件事件处理的模式
整个编程环境提供了类似窗体编程的处理模式。
Web窗体包含传统网页设计的所有处理方式,同时提供了不同于传统意义上的网页设计的方式,引入了用户控件和服务器控件等传统窗体处理模式; Web窗体加入了新的指令和新的可重用选项,以及新的服务器端数据绑定语法等。 ;一、Web窗体文件构成:
窗体名.aspx的文本文件:包含所有HTML的标记符号和相关指令代码等,该文件必须存在。
在集成编辑环境中表现为文本视图(源)和可视化试图(设计)
窗体名.aspx.cs 的程序代码:包含页面类的所有申明和事件处理代码。(该文件内容可以内嵌在aspx文件中)
; Default.aspx文件代码中出现了ASP.NET页面中很多的元素,包括:
服务器端注释
指令
静态HTML代码
服务器控件
自定义服务器控件
用户控件;2 页面元素; ASP.NET的窗体模型提供了用户与服务器端交互的模式,用户可以通过控件与服务器端的交互完成程序的执行,这些程序的执行依靠Web应用程序的回发特性完成。
第一次执行ASP.NET的页面时,页面内的代码会被编译成从Page基类继承来的类,编译完成之后,类将被执行,生成可识别的HTML标志流回传客户端,HTML标记的效果将显示在浏览器上,然后类将被从内存中删除。
每个ASP.NET的Web窗体都包含一个form标记,当用户提交一个窗体后,该标记将指示页面回发给自己。
为了在页面请求之间维持状态,ASP.NET运行库也为隐藏窗体字段提供了相应的功能。 ; 当页面被处理完成并且输出到浏览器后,页面以及其控件立即被卸载,这个过程如下:
(1)用户通过浏览器请求页面(http)。
(2)加载并初始化页面和控件。
(3)如果请求的页面是回发的结果,控件状态从视图状态加载,并应用用户提交的任何改变。
(4)页面事件处理程序和用于用户操作触发事件的事件处理程序被执行。
(5)将控件状态保存到视图状态中。
(6)将页面的HTML输出到浏览器中。
(7)卸载页面和控件。 ; 在ASP中使用了少量的指令,这些指令在ASP.NET中不但被保留,而且增加了很多属性,除此之外,ASP.NET还增加了新的指令,这些指令包括控制页面行为和配置到缓存输出等。
例如:
%@ Page Language=C# AutoEventWireup=true CodeFile=Default.aspx.cs Inherits=_Default %;1. @Page指令的属性 ;1. @Page指令的属性 ; 页面跟踪启用之后,将调试语句直接写入页的输出中,并且有条件地运行调试代码。可以按照如下语法设置启用页面跟踪:%@ Page Trace=”true” %也可以使用Page指令的TraceMode属性,对跟踪语句按照类别的组织。;例:
protected void Button1_Click(object sender,EventArgs e)
{
int i = 10, j, k; //声明3个整数变量
//为整数j赋值
j = Int32.Parse(tbComputer.Text);
//为整数k赋值
k = i / j;
Response.Write(k); //输出整数k的值
};在默认情况下,该属性默认为SortByTime,如下:
%@ Page Trace=”true” TraceMode=”SortByTime”%
页声明Trace属性用于将语句输出调试到页输出。在启用了跟踪语句后,可以使用Trace.Write和Trace.Warn方法写到调试语句,但是两种方法都采用消息字符串或者类别和消息字符串,其中Trace.Warm是以红色的字符串输出。;@Import指令用于向页面导入.NET框架命名的命名空间或者自定义空间。导入命名空间之后,在代码中就不再显式地使用命名空间的全名了。@Import指令只有Namespace一个属性,这个属性指定要导入的命名空间。
@Import指令的语法如下:
%@ Import Namespace=”Namespace”% ; @Assembly指令用于在编译时将程序集链接到页面中,这使得开发人员可以使用程序集公开的所有类和方
文档评论(0)