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方法
:
点击另外一个: