浏览主站 | 站长合租 | 新闻资讯 | 站长学院 | 站长盈利 | HTML教程 | 网址导航 | 站长周刊 | 会员投稿 | 滚动新闻 | RSS
发新话题
打印

Server.Transer()方法的使用及HttpContext类

Server.Transer()方法的使用及HttpContext类

[[wiki]wiki[/wiki]][/wiki]首先来看HttpContext[wiki]类[/wiki]:
System.Web.HttpContext类继承自System.[wiki]object[/wiki],按类名来理解,即是Http上下文类.

此类封装了有关单个HTTP 请求的所有HTTP 特定的[wiki]信息[/wiki]。此类为继承 IHttpModule 和 IHttpHandler 接口的类提供了对当前 HTTP 请求的 HttpContext [wiki]对象[/wiki]的引用。该对象提供对请求的内部 Req[wiki]UE[/wiki]st、Response 和 Server 对象的访问。

HttpContext类的常用公共属性有:
Application,为当前 HTTP 请求获取HttpApplicationState 对象。
Current, 为当前 HTTP 请求获取 HttpContext 对象。
Handler, 为当前 HTTP 请求获取或设置 IHttpHandler 对象。
Items,获取可用于在 HTTP 请求过程中在 IHttpModule 和 IHttpHandler 之间组织和[wiki]共享[/wiki]数据的键值集合。
Request,为当前 HTTP 请求获取 HttpRequest 对象。
Response,为当前 HTTP 响应获取 HttpResponse 对象。
Server, 获取提供用于处理 Web 请求的方法的 HttpServerUtility 对象。
Session, 为当前 HTTP 请求获取 HttpSessionState 实例。

通过Page类的Context属性可以获得当前的System.Web.HttpContext对象


接着来看Server.Transer()方法:
通过Page类的Server属性类可以Transfer到另一个页面,如Server.Transfer("NewPage.aspx"),可以跳转到新页面中,
使用Server.Transfer()跳转页面,客户端的[wiki]URL[/wiki]并不会改变,只是在[wiki]服务器[/wiki]端执行新页并输出,因此可以在新页面中通过获取来获得请求页面传递的对象和表单数据及查询字符串.

假定当前页面为FormerPage.aspx(类名为FormerPage), 跳转到的新页面为NewPage.aspx
从FormerPage.aspx跳转的代码如下:


private void  btnToNewPage_Click(object sender, System.EventArgs e)
{
   ArrayList list = new ArrayList(3);
   list.Add("This list ");
   list.Add("is for ");
   list.Add("FormerPage to see.");

   Context.Items["FormerPageList1"] = list;

   Server.Transfer("NewPage.aspx");
}


在新页面(NewPage.aspx)Page_Load()事件中通过如下代码获得传递礫wiki]氖[/wiki]

TOP

发新话题