自强不息,厚德载物!身心自在,道法自然!


初识 Asp.Net内置对象之Server对象

Server对象

       Server对象定义了一个于Web服务器相关联的类提供对服务器上的方法和属性的访问,用于访问服务器上的资源。

Server对象的常用属性

属性  
MarhineName 获取服务器的计算机名称
ScriptTimeout 获取和设置请求超时值

 

 

 

Server对象常用方法

方法  
Execute 在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给处理程序
HtmlDecode 对已被编码以消除无效的HTML字符的字符串进行解码
HtmlEncode 对要在浏览器中显示的字符进行编码
MapPath 返回与web服务器上的指定虚拟路径相对应的物理文件路径
UrlDecode 对字符串进行解码,改字符串为了进行HTTP传输而编码并在URL中发送到服务器
UrlEncode 编码字符串,以便通过URL从Web服务器到客户端经行可靠的HTTP传输
transfer 终止当前页的执行,并为当前请求开始执行新页

 

 

 

 

 

 

 

 

1.使用Server.Execute方法和Server.Transfer方法重定向页面

     Execute方法用于执行从当前页面转移到另一个页面,并将执行返回到当前页面,执行所转移的页面在同一浏览器窗口中执行,然后原始页面继续执行。所以执行Execute方法后原始页面保留控制权。

     Transfer方法用于将执行完全转移到指定页面。执行该方法时主调页面将失去对其的控制权。

 实验一个简单的例子吧!在页面放置2个按钮,一个负责Execute,一个负责Transfer方法,具体如下:

我们现在利用Server对象的Execute方法和Transfer方法从当前ServerDemo.aspx页面重新定向到页面。具体的ServerDemo.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebSessionDemo
{
    public partial class ServerDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        /// <summary>
        /// Execute按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btn_Execute_Click(object sender, EventArgs e)
        {
            this.Server.Execute("NewServerDemo.aspx?Message=Execute");
            this.Response.Write("ServerDemo.aspx页");
        }
        /// <summary>
        /// Transfer按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btn_Transfer_Click(object sender, EventArgs e)
        {
            this.Server.Transfer("NewServerDemo.aspx?Message=Transfer");
            this.Response.Write("ServerDemo.aspx页");
        }
    }
}

运行前先在项目建立一个NewServerDemo.aspx页面,以免程序出现异常,运行效果如下:

 

2.使用Server.MapPath方法获取服务器的物理路径

 MapPath方法用来放回与Web服务器上的指定虚拟路径相对应的物理文件路径。写法如下:

Server.MapPath(path); //path表示Web服务器上的虚拟路径,如果为空,则该方法会返回包含当前应用程序的完整物理路径。

 3.对字符串经行编码和解码

   3.1字符串编码

        Server对象的UrlEncode方法用于通过对URL传递到服务器的数据经行编码,写法:

Server.UrlEncode(string);//string为需要经行编码的数据

 Server对象的UnEncode方法的编码规则:

  • 空格被“+”代替
  • 字段不被编码
  • 字段名称将被指定为关联的字段值
  • 非ASCII字符将被转义码所代替。

   3.2字符串解码

    Server对象的UrlDecode方法用来对字符串经行URL解码并返回已经解码的字符串,如:

Response.Write(Server.UrlDecode("http%3a%2f%2flogin.aspx"));

 解码后输出结果应该是"http://login.aspx";

OK,到这里ASP.NET的内置对象,Request /Response/Session/Cookie/Application/Server大致介绍就完了!其实我们最常用的无非就是用Requset对象通过HTTP请求服务器可以得到客户端的信息,然后在通过Response对象控制发送回给客户端的信息,Server对象提供了服务器端的基本属性和方法!

posted @ 2014-04-14 15:51  辉太  阅读(1674)  评论(0编辑  收藏  举报

路漫漫其修远兮,吾将上下而求索!