当地开发的服务或己存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。
2.2ASP.NET技术在实例中的应用
实例是一个BtoC的电子商务网站,在网站设计中使用了ASP.NET一些关键技术
2.2.1ASP.NET内置对象的应用
ASP.NET有七个主要的内置的对象,分别是:
对象名
对象说明
Page
用于设置与网页有关的属性、方法和事件
Request
从浏览器(用户端)获取信息
Response
发送信息到浏览器
Server
提供服务器端的属性和方法
Session
存储单个客户端的信息
Application
存储客户端的共享信息
Exception
捕捉ASP.NET的错误,返回错误信息
Page对象最主要的事件有:Init.Load和UnLoad。当进行网页初始化时触发Page对象的Init事件,接着加载网页并触发Page对象的Load事件,然后如果包含其他服务器控件事件的时候,当满足发生条件则触发相应服务器控件的事件,最后离开时触发Page对象的UnLoad事件。在每个页面文件里几乎都可以找到Page对象的Load事件和Init事件。
privatevoidPage_Load(objectsender,System.EventArgse)
{
//如果客户机上本商城的Cookie存在,则根据该Cookie显示个性化的顾客欢迎信息
if(Request.Cookies["IStore_UserName"]!=null)
{
WelcomeMsg.Text="欢迎"+Request.Cookies["IStore_UserName"].Value+"来到网上商城!";
}
}
privatevoidPage_Init(objectsender,EventArgse)
{
InitializeComponent();
}
这是Default.aspx(首页)中的Page对象的Load事件和Init事件,其中Cookies存储了客户信息,用来显示个性话的客户欢迎信息。
privatevoidPage_Load(objectsender,System.EventArgse)
{
//从传到该页面的请求对象的参数集合中获取GoodsID
intGoodsID=Int32.Parse(Request.Params["GoodsID"]);
//获取商品的详细信息
IStore.IStoreDBOGoodsDetail=newIStore.IStoreDBO();
IStore.GoodsDetailsmyGoodsDetails=GoodsDetail.GetGoodsDetails(GoodsID);
desc.Text=myGoodsDetails.Description;
UnitCost.Text=String.Format("{0:c}",myGoodsDetails.UnitCost);
ModelName.Text=myGoodsDetails.ModelName;
ModelNumber.Text=myGoodsDetails.ModelNumber.ToString();
GoodsImage.ImageUrl="GoodsImages/"+myGoodsDetails.GoodsPicture;
addToCart.NavigateUrl="AddToCart.aspx?GoodsID="+GoodsID;
}
上面的是GoodsDetails.aspx(用于显示商品的详细信息)中的Page对象的Load事件,其中desc.Text、UnitCost.Text、ModelName.Text、ModelNumber.Text、GoodsImage.ImageUrl和addToCart.NavigateUrl都是用来显示商品信息的页面控件。
Request对象派生自HttpRequest类,它的主要功能是从客户端获取信息,包括浏览器种类、用户输入表单中的数据、Cookies中的数据和客户端认证等。
if(thecontext.Request.Cookies["IStore_CartID"]!=null)
{
Returnthecontext.Request.Cookies["IStore_CartID"].Value;
}
else
{
GuidtempShoppingCartId=Guid.NewGuid();
Thecontext.Response.Cookies["IStore_CartID"].Value=tempShoppingCartId.ToString();
returntempShoppingCartId.ToString();
}
这是GetShoppingCartId()方法中使用Response对象的Cookies集合来获取用户购物车的ID。这个方法在多个页面事件中都有调用,例如在AddToCart.aspx页面中。
Resquest对象的功能与Response对象的功能相反,它用于将服务器端的信息发送到浏览器。Resquest对象的常用方法有十个,其中最常用最简单的方法是Writer方法和Redirect方法。Writer方法是将指定的内容写入页面文件中,Redirect方法是通知浏览器连接指定的URL,即进行页面跳转。例如:Response.Redirect("Default.aspx")。
Response.Write("alert(\"对不起,你的权限不够!\")");
这一段就是使用的Resquest对象的Writer方法向浏览器发送信息。
Server是最基本的ASP.NET对象,它派生自HttpServerUtility类,提供了服务器端的基本属性和方法。