Web窗体常用对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置阶段(Page_Load) 事件处理阶段 显示阶段
清除阶段(Page_Unload)
Page类
在 ASP.NET2.0 中,每个 Web 窗体都是从 Page 类继承来的。可以说,一个ASP.NET页面实际上是 Page 类的一个对象,这个对象包含事件和属性, 并控制页面的显示过程。
任务1 Page对象练习
Response 属性
Response.ContentType = "html/text"; Response.Charset =“UTF-8”; Response.Buffer = true;
练习2 Response对象

用户输入用户名和密码,单击WriteTest 按钮则 在页面显示用户输入的用户名和密码,单击 EndTest按钮显示用户输入的用户名,密码,并 停止web页面解析,单击提交页面将跳到 RequreyTest页面。
练习1_2
利用标签在网页上显示当前日期和时间 protected void Page_Load(object sender, EventArgs e) { Label1.Text ="今天是" + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); }
DropDownList1.Items.Add("北京"); DropDownList1.Items.Add("南京"); DropDownList1.Items.Add("上海");
}
}
Page总结

Page事件
Page_Load()

Page 属性
IsPostBack IsValid

Page事件功能
初始化控件 ,该页首先被执行的事件
【例5-2】Page类的属性和事件
当页面首次加载时,检查IsPostBack属性,其值为False,显 示系统日期和时间为当前时间是:2008-4-5 21:23:15;如果页 面作为“回发”的结果加载,那么日期和时间都将保持不变。
ASP.NET内部对象
尽管ASP.NET在本质上与 ASP不同,但ASP中 许多内容在ASP.NET中都保留了下来,如内部对象、 最常用的关键字和运算符等,并且其使用方式也大 体相同。 ASP.NET 2.0 内 部 对 象 包 括 Request 、 Response 、 Server 、 Application 、 Session 和 Cookie。

5.1.1 创建网站和网页
网站是一系列资源的集合,包括静态网页、动态网页、 图形文件、样式表和配置文件等。除各种文件外,网站还 可以包含子目录 。 创建网站的方法可参考书中步骤1)-4)。 当创建新的网站时,Visual Web Developer 将添加一个 名为 Default.aspx 的 Web窗体页面。 创建新的Web窗体页面的步骤参考书中步骤1)-5)。
页面输入输出控制

Request对象
获得页面输入 URL传参 Form表单提交

Response 对象
在页面输出要显示的内容
重定向
1 Response 对象
Response对象用于动态响应客户端请求,并将动态生成的响应结果以HTML超文 本的格式输出到客户端浏览器中。下面列出了Response对象常用的属性和方法。

显示图片链接页面(image.aspx)
非登陆用户不得登陆 图片超链接

图片查看页面(showimage.ashx)
图片进行处理
简单的图书销售系统
登陆 购买图书 并可以查看购书情况以及总价

要求
使用内嵌对象,模拟图书购买的流程 不要求图书动态添加,显示几本固定的图书然后 购买 可以查看购买情况
ASP.NET Web窗体
请求→处理→响应
Get与Post

还可以设定form的method属性指定表单提交方式,get(默认值) 是通过URL传递表单值,post传递的表单值是隐藏到http报文中, url中看到不。
������
点击type=submit的按钮会自动提交表单。


������ get和post的区别(常考):get是通过url传递表单值,post通 过url看不到表单域的值;get传递的数据量是有限的,如果要传 递大数据量不能用get,比如type="file"上传文章、 type="password"传递密码或者<textarea>发表大段文章,post则 没有这个限制;post会有浏览器提示重新提交表单的问题,get则 没有(加分的回答)。对于Post的表单重新敲地址栏再刷新就不会 提示重新提交了,因为重新敲地址就没有偷偷提交的数据了 ������
Web窗体的事件模型
ASP.NET 2.0中有一个重要特性和功能,允许 采用可视化的、事件驱动的方式开发Web应用程 序。

ASP.NET 2.0在客户端触发事件,由服务器端执行事件 服务器控件仅提供有限的一组事件
Web窗体的生命周期

窗体从加载到卸载的时间称为窗体的生命周期, 包括以下几个阶段:

了解Page类对象的相关事件
Page_Load 事件 Page_Init 事件

利用Page类完成相应的工作
控件值初始化工作
练习1_1
新建网站chpt04 新建网页myPage,在代码页,输入下列代码 protected void Page_Load(object sender, EventArgs e) { Response.Write("This code will be run secondly+<br/> "); } protected void Page_Init(object sender, EventArgs e) { //..... Response.Write("This code will be run firstly <br/> "); }
Response对象属性
Buffer
说 明
获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之 后将其发送
ContentType
Cookies Response对象方法 End Redirect Write
获取或设置输出流的HTTP MIME类型
获取响应Cookie集合 说 明
将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 EndRequest 事件 将客户端重定向到新的 URL 将信息写入 HTTP 响应输出流
2.IsValid属性
该属性获取一个值(True\False) ,该值指示验证是否成功
例5-2 Page类的属性和事件
练习1_3代码修改
protected void Page_Load(object sender, EventArgs e) { Label1.Text ="今天是" + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); if (!Page.IsPostBack) { txtName.Text = "张三";
Page类的事件

利用Page_Load 初始化控件初值
Page类有许多事件,其中三个基本事件控制了页 面的整个处理过程:
Page_Init事件在页面服务器控件被初始化时发生 Page_Load事件当服务器控件加载到Page对象中时
发生
刷新页面就执行一次事件
Page_Unload事件在服务器控件从内存中卸载时发生
Web窗体
Web窗体是一项ASP.NE的功能,可以使用它 为Web应用程序创建用户界面,Web窗体提供了一 个丰富的控件集,使用支持.NET的语言(例如 Visual Basic.NET和C#)对这些控件编程。
任务
page对象使用方式 利用Response对象输出信息 Request对象得到信息 Server Applicatio来自百度文库 Session Cookies

图库权限案例
用户登陆可以查看图片 非登陆用户不可以查看图片 如果是付费用户可以查看原始图片 如果是免费用户需要在图片加上水印

包括的页面

登录页面(login.aspx)
验证登陆 记录用户名以及用户的等级(level=1 免费level =2 vip) Session 使用
protected void Button1_Click(object sender, EventArgs e)//endTest 按钮 { Response.Write("你输入的用户和密码是:"); Response.Write("<font color=\"blue\">"); Response.Write(txtName.Text + txtPWD.Text); Response.Write("</font>"); Response.End(); Response.Write("welcome to our site"); } protected void Button2_Click(object sender, EventArgs e) { Response.Write("你输入的用户和密码是:"); Response.Write("<font color=\"red\">"); Response.Write(txtName.Text + txtPWD.Text); Response.Write("</font>"); Response.Write("welcome to our site"); } protected void btnSubmit_Click(object sender, EventArgs e) { Response.Redirect("Requery.aspx"); }

练习1_3 为下拉框、文本框添加初值
protected void Page_Load(object sender, EventArgs e) { Label1.Text ="今天是" + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); DropDownList1.Items.Add("北京"); DropDownList1.Items.Add("南京"); DropDownList1.Items.Add("上海"); txtName.Text = "张三"; }

Web窗体编程模型
ASP.NET Web窗体编程模型提供了一种全新的Web 编程方法。这种方法的特点为:
(1) 它支持在服务器上创建所有应用程序逻辑,而无须因浏览 器中的差异进行显式编码,这意味着Web窗体实际上可以在任何种 类浏览器(Browser)上运行; (2) Web窗体编程模型给Web应用程序带来了事件处理程序编 写模型,用于为客户端或服务器上发生的事件编写处理程序; (3) Web窗体可以使用任何与公共语言运行时(Common Language Runtime,CLR)兼容的语言来编程,包括Visual Basic.NET、C#、JScript.NET以及一些其他第三方开发的编程语言。
练习1_3特点
页面打开 控件有初值 刷新一下页面后,控件显示为原来的初值 问题是 如何在刷新页面后,各控件保持用户选择的值?

Page类的属性
Page类有很多属性,其中最为常用和重要的两 个属性是:
1.IsPostBack属性
该属性获取一个值(True\False),该值指示页面是否为响应客户 端回发而加载,或者它是否正被首次加载和访问
Get and Post
Get方式URL数据格式。服务端文件名后跟着 “?”,由于客户端可能向服务器端提交多个键值 对,键值对之间用“&”进行分割,如果URL中有 汉字、特殊符号等,则需要对URL进行编码。 ������ 表单域只有设定了name的才会被提交给服 务器(用get方式看的清楚)。如果给submit按钮 设定name,那么按钮的value也会被提交给服务 器
5.2.1 单文件页模型和代码隐藏页模型
1.单文件页模型
在单文件页模型中,页的标记及其编程代码位于同一 个物理.aspx文件中。编程代码位于script块中,该块 包含runat=“server”属性,此属性标记该块(或控件) 在服务器端执行。
2.代码隐藏页模型
通过代码隐藏页模型,可以在一个文件(.aspx 文件) 中保留标记,并在另一个文件中保留编程代码。代码 文件的名称会根据所使用的编程语言而有所变化。

单文件页模型和代码隐藏页模型 ASP.NET网页由两部分组成:
可视元素,包括标记、服务器控件和静态文本。 页的编程逻辑,包括事件处理程序和其他代码。

ASP.NET提供两个用于管理可视元素和代码的 模型,即单文件页模型和代码隐藏页模型。这两个 模型功能相同,两种模型中可以使用相同的控件和 代码。
相关文档
最新文档