第7章项目中内置对象和配置文件应用开发Word格式.docx
- 文档编号:22276013
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:50
- 大小:294.33KB
第7章项目中内置对象和配置文件应用开发Word格式.docx
《第7章项目中内置对象和配置文件应用开发Word格式.docx》由会员分享,可在线阅读,更多相关《第7章项目中内置对象和配置文件应用开发Word格式.docx(50页珍藏版)》请在冰豆网上搜索。
页面之间传值任务分解
三、任务实现过程
图7-5的任务分解步骤,详细介绍了页面之间传值实现的步骤,实现只需根据图解进行即可。
1、子任务一:
页面设计
页面构成部分是向用户展示系统操作的结果或提供用户与系统进行互动的操作平台,本任务共由部门信息设置、Transfer传值、Session传值和QueryString传值等四个页面构成,这些页面构成利用了HTML标记和Web服务器控件,下面详细展示这些页面构成的代码供读者学习分析。
(1)部门信息设置页面
<
%@PageLanguage="
C#"
AutoEventWireup="
true"
CodeFile="
Default.aspx.cs"
Inherits="
_Default"
%>
<
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
>
headrunat="
server"
title>
页面之间传值<
/title>
styletype="
text/css"
body
{
font-size:
10pt;
font-family:
"
宋体"
;
}
/style>
/head>
body>
formid="
form1"
runat="
div>
填写部门信息:
br/>
hr/>
/div>
asp:
LabelID="
Label1"
Text="
部门编号"
/asp:
Label>
TextBoxID="
txtNumber"
MaxLength="
20"
TextBox>
RequiredFieldValidatorID="
RequiredFieldValidator1"
ControlToValidate="
Display="
Dynamic"
ErrorMessage="
部门编号不能为空!
RequiredFieldValidator>
Label2"
部门名称"
txtName"
RequiredFieldValidator2"
部门名称不能为空!
Label3"
部门负责人"
txtCharger"
Label4"
联系电话"
txtPhone"
RegularExpressionValidatorID="
RegularExpressionValidator1"
电话号码格式不正确!
ValidationExpression="
(\(\d{3}\)|\d{3}-|\d{4}\)|\d{4}-)?
(\d{8}|\d{7})"
RegularExpressionValidator>
Label5"
备 注"
txtMemo"
Height="
53px"
200"
TextMode="
MultiLine"
Width="
161px"
&
nbsp;
&
ButtonID="
btnDisplay"
OnClick="
btnDisplay_Click"
浏览部门信息(Transfer)"
/>
btnSession"
btnSession_Click"
浏览部门信息(Session)"
btnQueryString"
浏览部门信息(QueryString)"
btnQueryString_Click"
/form>
/body>
/html>
(2)Transfer获值页面
Transfer.aspx.cs"
Transfer"
获取页面值,transfer传值<
说明:
Session获值页面和QueryString获值页面与Transfer获值页面一样,构建的都是一个空页面,它们只是后台代码不一样而已,这在功能介绍时进行说明。
2、子任务二:
功能设计
(1)部门类编写
根据任务目标中的要求,部门信息主要是对部门编号、名称、负责人、联系电话、备注进行维护,实现代码如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
///<
summary>
///Copyright(c)2008~2011KingBoySoftwareCo.,Ltd
///FileName:
部门类
///Author:
KingBoyVersion:
1.0.0.0Date:
2009-3-05
///Description:
提供部门操作的标准类。
/summary>
publicclassDepartment
{
#region变量
privatestringstrNumber="
//部门编号
privatestringstrName="
//部门名称
privatestringstrCharger="
//部门负责人
privatestringstrPhone="
//部门联系电话
privatestringstrMemo="
//备注
#endregion
#region属性
///<
///设置或获取部门编号
publicstringnumber
get{returnstrNumber;
set{strNumber=value;
}
///设置或获取部门名称
publicstringname
get{returnstrName;
set{strName=value;
///设置或获取部门负责人信息
publicstringcharger
get{returnstrCharger;
set{strCharger=value;
///设置或获取部门联系电话
publicstringphone
get{returnstrPhone;
set{strPhone=value;
///设置或获取部门备注
publicstringmemo
get{returnstrMemo;
set{strMemo=value;
#region方法
///构造方法
paramname="
number"
部门编号<
/param>
publicDepartment(stringnumber)
strNumber=number;
}
(2)部门信息设置页面后台代码
publicpartialclass_Default:
System.Web.UI.Page
protectedvoidPage_Load(objectsender,EventArgse)
privateDepartmentdep;
//定义部门对象变量
///获取部门信息
publicDepartmentgetDepartment
get
returndep;
protectedvoidbtnDisplay_Click(objectsender,EventArgse)
dep=newDepartment(txtNumber.Text);
//创建对象
//获取页面对象值
dep.number=txtNumber.Text;
dep.name=txtName.Text;
dep.charger=txtCharger.Text;
dep.phone=txtPhone.Text;
dep.memo=txtMemo.Text;
//实现Transfer对象传值
Server.Transfer("
Transfer.aspx"
);
protectedvoidbtnSession_Click(objectsender,EventArgse)
//实现Session对象传值
Session["
dep"
]=dep;
Response.Redirect("
WFSession.aspx"
protectedvoidbtnQueryString_Click(objectsender,EventArgse)
//实现QueryString对象传值
WFQueryString.aspx?
number="
+dep.number+"
name="
+dep.name+"
charger="
+dep.charger+"
phone="
+dep.phone+"
memo="
+dep.memo);
(3)Transfer获值页面后台代码
if(!
Page.IsPostBack)
{
_Defaultwf=(_Default)Context.Handler;
//获取前一页面对象
/*
显示部门信息
*/
Response.Write("
部门信息如下(Transfer传值):
+"
br>
hr/>
部门编号:
+wf.getDepartment.number+"
部门名称:
+wf.getDepartment.name+"
负责人:
+wf.getDepartment.charger+"
联系电话:
+wf.getDepartment.phone+"
备注:
+wf.getDepartment.memo);
(4)Session获值页面后台代码
protectedvoidPage_Load(objectsender,EventArgse)
Departmentdep=(Department)Session["
];
部门信息如下(Session传值):
+"
+dep.number+"
+dep.name+"
+dep.charger+"
+dep.phone+"
+dep.memo);
(5)QueryString获值后台代码
部门信息如下(QueryString传值):
+Request.QueryString["
]+"
name"
charger"
phone"
memo"
]);
四、任务相关知识
页面传值的实现采用了ASP.NET中的内置对象才得以实现,下面详细介绍与本节有关的ASP.NET内置对象的相关知识。
Page类封装了与页面所有有关的方法和属性,表示从ASP.NETWeb应用程序的宿主服务器请求的.aspx文件(又称为Web窗体页)。
在请求ASP.NET页且该页将标记呈现给浏览器的过程中,运行的不仅仅是为该页创建的代码。
相反,ASP.NET在运行时会生成并编译一个或多个类来实际执行运行该页所需的任务。
ASP.NET页作为一个单元运行,它将该页中的服务器端元素(如控件)与您编写的事件处理代码结合在一起。
您无需将页预编译为程序集。
ASP.NET将动态编译页,并在用户第一次请求页时运行该页。
如果对该页所依赖的页或资源进行了任何更改,则将自动对该页进行重新编译。
编译器将根据页是使用单文件模型还是代码隐藏模型来创建一个或多个类。
ASP.NET页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。
这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。
了解页的生命周期非常重要,这样就能在合适的生命周期阶段编写代码,以达到预期效果。
此外,如果开发自定义控件,则必须熟悉页生命周期,从而正确地初始化控件,使用视图状态数据填充控件属性以及运行所有控件行为逻辑。
一般来说,页要经历以下的各个阶段。
除了页生命周期阶段以外,还有在请求前后出现的应用程序阶段,但是这些阶段并不特定于页。
(1)页请求阶段:
页请求发生在页生命周期开始之前。
用户请求页时,ASP.NET将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。
(2)开始阶段:
在开始阶段,将设置页属性,如Request和Response。
在此阶段,页还将确定请求是回发请求还是新请求,并设置IsPostB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 内置 对象 配置文件 应用 开发