【C#】【asp.net内置对象】Server对象

Server对象

该对象定义了一个与Web服务器相关的类,提供对服务器上的方法和属性的访问,用于访问服务器上的资源。Server对象提供对服务器上的资源访问以及进行HTML编码的功能。在Web Forms框架中,Server对象是HttpServerUtility类的实例,在MVC中,它属于HttpServerUtilityBase对象。


Server对象的常用方法

1、Server.MapPath方法用来返回与服务器上的指定虚拟路径相对应的物理路径。

Server.MapPath(path);

其中,path表示Web服务器上的虚拟路径,如果path==NULL,则该方法返回包含当前应用程序的完整物理路径。如果想在浏览器中输出指定文件Login.aspx的物理路径,可以这样写:

Response.Write(Server.MapPath("Login.aspx"));

2、Server.UrlEncode方法用于对通过URL传递到服务器的数据进行编码。

Server.UrlEncode(string);

其中,string为需要进行编码的数据。例如:

Response.Write(Server.UrlEncode("HTTP://Login.aspx"));

编码的最后结果是:

HTTP%3a%2f%2fLogin.aspx 

3、Server对象的UrlEncode方法的编码规则是这样的:

  • 空格将被加号( + )字符所替代
  • 英文字符不被编码
  • ASCLL字符将被转义码所替代

4、Server.UrlDecode用来对字符串进行URL解码并返回已经解码的字符串,语法:

Server.UrlDecode(string);

同上,string为解码的数据,例如:

Response.Write(Server.UrlDecode("HTTP%3a%2f%2fLogin.aspx"));

解码后是这样的:

HTTP://Login.aspx

使用Server对象重定向页面——实现两种重定向页面方法

Server对象有两个用于重定向页面的方法:

  • Server.Execute方法。使用该方法用于执行从当前页面转移到另一个页面,并将执行返回到当前页面。执行所转移的界面在同一个浏览器窗口中执行,然后再原始页面继续执行。原始页面保留控制权。
  • Transfer方法。完全转移到指定页面。

下面开始具体的步骤:

1、新建一个网站,添加一个默认主页,在默认主页上面添加两个Button控件,它们的属性分别设置为:

控件类型 空间名称 主要属性设置 用途
Button控件 btnExecute Text属性设置为Execute方法 使用Execute方法重定向页面
Button控件 btnTransfer Text属性设置为Transfer方法 使用Transfer方法重定向页面

并且在页面源代码的<div>标签下定义如下代码标签:

<asp:Button ID="btnExecute" runat="server" Text="Execute方法" OnClick="btnExecute_Click" />
<asp:Button ID="btnTransfer" runat="server" Text="Transfer方法" OnClick="btnTransfer_Click" />

2、在该页面的.cs文件中,定义两个Button控件的Click方法,然后利用上述的两个方法重定向到新的页面,新的页面起名为NewPage.aspx,下面是两个Click方法中的语句。

       protected void btnExecute_Click(object sender, EventArgs e)
        {
            Server.Execute("NewPage.aspx?message=Execute");
            Response.Write("主页");
        }

        protected void btnTransfer_Click(object sender, EventArgs e)
        {
            Server.Transfer("NewPage.aspx?message=Transfer");
            Response.Write("主页");
        }

3、在新建的页面的Page_Load方法中,接收传来的参数,并显示到页面上:

        protected void Page_Load(object sender, EventArgs e)
        {
            string message = Request.QueryString["message"];
            Response.Write(message);
        }

最后的执行效果是这样的:

点击Button--Execute方法

在这里插入图片描述
点击另外一个:
在这里插入图片描述


发布了177 篇原创文章 · 获赞 282 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lesileqin/article/details/103604944