一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - Asp.net內置對象之Server對象(概述及應用)

Asp.net內置對象之Server對象(概述及應用)

2019-10-22 10:40asp.net技術網 ASP.NET教程

Server對象提供對服務器上的方法和屬性的訪問以及進行HTML編碼的功能,本文主要圍繞server對象介紹詳細功能及常用屬性和主要方法,感興趣的朋友可以了解下,或許對你學習server對象有所幫助

一、了解Server對象

Server對象提供對服務器上的方法和屬性的訪問以及進行HTML編碼的功能。這些功能分別由Server對象相應的方法和屬性完成。

二、Server對象的常用屬性

(1).MachineName
(2).ScriptTimeout:屬性用于設置腳本程序執(zhí)行的時間,適當地設置腳本程序的ScriptTimeout可以提高整個Web應用程序的效率。語法如下:
Server.ScriptTimeout=time;(以s(秒)為單位)
 

ScriptTimeout屬性的最短時間默認為90 s。對于一些邏輯簡單、活動內容較少的腳本程序該值已經足夠。但在執(zhí)行一些活動內容較多的腳本程序時,就顯得小了些。比如訪問數據庫的腳本程序,必須設置較大的ScriptTimeout屬性值,否則腳本程序就不能正常執(zhí)行完畢。

復制代碼代碼如下:

Response.Write("服務器機器名:" + Server.MachineName);//服務器機器名:IBM 
Response.Write("超時時間為:" + Server.ScriptTimeout);//超時時間為:30000000


三、Server對象的主要方法

 

Asp.net內置對象之Server對象(概述及應用)

四、Server對象的常見應用

(1).執(zhí)行其他ASP.NET網頁

使用Server對象的Execute方法可以在當前頁面中執(zhí)行同一Web服務器上的另一頁面,當該頁面執(zhí)行完畢后,控制流程將重新返回到原頁面中發(fā)出Server.Execute方法調用的位置。被調用的頁面應是一個.aspx網頁,因此,通過Server.Execute方法調用可以將一個.aspx頁面的輸出結果插入到另一個.aspx頁面中。Server.Execute方法語法如下:
Server.Execute (path)

在WebForm1頁面中:

復制代碼代碼如下:
 
protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("<P>調用 Execute 方法之前</P>"); 
Server.Execute("Page2.aspx");//使用Server.Execute(Path)執(zhí)行其他ASP.NET頁面。這里將Page2.aspx的輸出結果插入到當前頁面 
//Server.Execute("http://www.163.com");//程序不能執(zhí)行,必須是相對路徑 
Response.Write("<P>調用 Execute 方法之后</P>"); 
}


在page.aspx頁面中

復制代碼代碼如下:
 
protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("這是page2.aspx網頁"); 
}


則運行結果為:
Asp.net內置對象之Server對象(概述及應用)

 

(2).將流程控制轉移到其他ASP.NET網頁

使用Server對象的Transfer方法可以終止當前頁的執(zhí)行,并將執(zhí)行流程轉入同一Web服務器的另一個頁面。被調用的頁面應是一個.aspx頁面,在頁面跳轉過程中,Request等對象保存的信息不變,這意味著從頁面A跳轉到頁面B后可以繼續(xù)使用頁面A中提交的數據。此外,由于Server.Transfer方法調用是在服務器端進行的,客戶端瀏覽器并不知道服務器端已經執(zhí)行了一次頁面跳轉,所以實現頁面跳轉后瀏覽器地址欄仍將保存頁面A的URL信息,這樣還可以避免不必要的網絡通信,從而獲得更好的性能和瀏覽效果。Server.Transfer方法如下:
Server.Transfer(path)

提示:參數path指定在服務器上要執(zhí)行的新頁的URL路徑,在此URL后面也可以附加一些查詢字符串變量的名稱/值對
在WebForm1頁面中: 

復制代碼代碼如下:

protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("<P>調用 Transfer 方法之前</P>"); 
//Response.Redirect("Page2.aspx"); 
Server.Transfer("Page2.aspx"); 
//使用Server.Transfer(path)終止當前頁的執(zhí)行,所以執(zhí)行到這一行就終止了,也就是說后面的不再執(zhí)行; 
//然后將執(zhí)行流程轉入同一Web服務器的另一個頁面。也就是page2.aspx頁面中了。在頁面跳轉過程中,Request等對象保存的信息不變 
//這意味著從頁面A跳轉到頁面B后可以繼續(xù)使用頁面A中提交的數據:那么在page2.apsx頁面中就能輸出Server.Transfer(path)之前的數據了。 
//Server.Transfer("www.163.com");//這樣不行,只能是虛擬路徑 
Response.Write("<P>調用 Transfer 方法之后</P>"); 
}


在Page2頁面: 

復制代碼代碼如下:

protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("<P>這是 Page2.aspx 的執(zhí)行結果</P>"); 
}


則運行結果:
Asp.net內置對象之Server對象(概述及應用)

 

如果我們換成了Response.Redirect("Page2.aspx");則只能實現頁面跳轉功能了。
引述:ASP.NET頁面?zhèn)髦档娜N方式

復制代碼代碼如下:

(1).使用QueryString 
(2).使用Session變量 
(3).使用Server.Transfer 


(3).將虛擬路徑轉換為物理文件路徑

 

在Web窗體頁中經常需要訪問文件或文件夾,此時往往要求將虛擬路徑轉換為物理文件路徑。MapPath方法將指定的相對或虛擬路徑映射到服務器上相應的物理目錄上。Web服務器中的多個Web應用程序一般都按照各自不同的功能存放于不同的目錄中。

使用虛擬目錄后,客戶端仍然可以利用虛擬路徑存取網頁,這就是互聯網用戶在瀏覽器中常見的網頁的URL,但此時用戶無法知道該網頁的實際路徑(實際存放位置)。但如果確實需要知道某網頁文件的實際路徑,則可利用MapPath方法。MapPath方法的語法如下:

Server.MapPath(Path)

注意:其中參數Path表示指定要映射物理目錄的相對或虛擬路徑。執(zhí)行MapPath方法后,將返回與path相對應的物理文件路徑。
解惑:相對路徑、絕對路徑、物理路徑、虛擬路徑

復制代碼代碼如下:

(1).相對路徑:相對當前目錄的路徑、或相對某個目錄的路徑,這里主要體現“相對”的概念 
(2).絕對路徑:從網站的根路徑為最高層開始的路徑,如:C:\Website\web1\index.html 
(3).物理路徑:實際磁盤中的路徑,可以是相對路徑、也可以是絕對路徑 
(4).虛擬路徑:是服務器映射出來的路徑,如/myweb 

(這里引用了CSDN博友:flytosea8的解釋:鏈接地址:http://bbs.csdn.net/topics/70115404) 


虛擬路徑、物理路徑 
用IIS舉個例子: 
WEB服務目錄是d:\test 
那么用HTTP訪問網站根目錄的時候,其實訪問的是d:\test,那么其中虛擬路徑就是\(根),物理路徑就是d:\test 

一般虛擬路徑、物理路徑的提法在WEB、FTP服務中比較多見。 

相對路徑和絕對路徑就比較廣泛了,哪兒都看得到 
相對路徑:比如D:\TEST1\TEST2\TEST3 
那么TEST2是TEST1的下級路徑,TEST2又是TEST3的上級路徑,所以上級路徑或者下級路徑都是相對而言的。一般上級路徑可以用..來表示,當前路徑可以用.來表示。 
絕對路徑:比如c:\根路徑都是絕對了,任何路徑相對于根路徑都有一個絕對的最近的路徑,也是絕對路徑。 

如果你想想別人指路的話,就可以悟出什么是相對的,什么是絕對的 
相對的指路方法:從“這兒”向前走,右拐就到了 
絕對的指路方法:汽車站向東100米(如果汽車站是絕對的位置),絕對的指路方法不依賴于指路的人在什么地方 

 

復制代碼代碼如下:

protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("Web站點的根目錄為:"+Server.MapPath("/")+"<br>"); 
Response.Write("當前虛擬目錄的實際路徑為:"+Server.MapPath("./")+"<br>");//E:\asp.net\Server對象\code\ 
Response.Write("當前網頁的實際路徑為:"+Server.MapPath(Request.FilePath)+"<br>");//E:\asp.net\Server對象\code\WebForm1.aspx 
Response.Write("當前網頁的實際路徑為:"+Server.MapPath("webform2.aspx")+"<br>");//E:\asp.net\Server對象\code\WebForm2.aspx 

}


(4).字符串的編碼與解碼

 

在某些情況下,可能需要在網頁中顯示“段落標記<p>”之類的內容,而不希望瀏覽器將其中的<p>解釋為HTML語言中的段落標記;在上述場合,應當調用Server對象的HtmlEncode方法對要在瀏覽器中顯示的字符串進行編碼
有時候,在傳遞參數時,是將數據附在網址后面?zhèn)鬟f,但是如果遇到一些如“#”等特殊字符的時候,就會讀不到這些字符后面的參數。所以需要在傳遞特殊字符的時候,需先將要傳遞的內容先以UrlEncode編碼,這樣才可以保證所傳遞的值可以被順利讀到。
另外有些服務器對中文不能很好的支持,這時候也需要利用UrlEncode對其進行編碼,以被服務器所識別。

復制代碼代碼如下:

HtmlEncode||HtmlDecode: 
protected void Page_Load(object sender, System.EventArgs e) 

Response.Write(Server.HtmlEncode("粗體標記為:<B>粗體文字</B>"));//HtmlEncode對字符串進行HTML編碼并返回編碼后的字符串,所以這個原樣輸出 
Response.Write("<br>"); 
Response.Write(Server.HtmlDecode("粗體標記為:<B>粗體文字</B>"));//HtmlDecode對字符串進行HTML解碼并返回解碼后的字符串,所以這個后面加粗 
}

 

復制代碼代碼如下:

UrlEncode||UrlDecode: 
protected void Page_Load(object sender, System.EventArgs e) 

Response.Write("<A href='1.aspx?data=" + Server.UrlDecode("name@#163.com") + "'>沒有編碼的參數內容</A><br>");//在1.aspx頁面輸出:name@ 
Response.Write("<A href='1.aspx?data=name@#163.com'>沒有編碼的參數內容</A><br>");//在1.aspx頁面輸出:name@ 
Response.Write("<A href='1.aspx?data=" + Server.UrlEncode("name@#163.com") + "'>編碼的參數內容</A><br>");//在1.aspx頁面輸出:name@#163.com 
Response.Write(Server.UrlDecode("name@#163.com"));//對字符串進行URL解碼,這里輸出:name@#163.com 
Response.Write("<br>"); 
Response.Write(Server.UrlEncode("name@#163.com"));//對字符串進行URL編碼,這里輸出:name%40%23163.com 
Response.Write("<br>"); 
Response.Write(Server.UrlDecode("中文"));//輸出:中文 
Response.Write("<br>"); 
Response.Write( Server.UrlEncode("中文"));//輸出:%e4%b8%ad%e6%96%87 
Response.Write("<br>"); 
Response.Write(Server.UrlEncode("english"));//輸出:english 
Response.Write("<br>"); 
Response.Write(Server.UrlDecode("english"));//輸出:english 
}
 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品精品国产自在香蕉网 | 日本高清中文字幕视频在线 | 午夜大片在线观看 | 国内精品视频一区二区三区 | 2021国产麻豆剧传媒剧情 | 99操视频| 九九99热| 国产免费精彩视频 | 亚洲精品有码在线观看 | 日韩欧一级毛片在线播无遮挡 | 先锋资源久久 | 午夜国产在线观看 | 男男gaygays18中国 | 九九免费高清在线观看视频 | 啊好大好粗| 韩国悲惨事件30无删减在线 | 四虎国产免费 | 亚洲国产欧美在线人成 | 羞羞在线观看 | 久久青青草视频在线观 | 美女脱了内裤打开腿让男人图片 | 欧美成人精品福利网站 | 成人毛片高清视频观看 | 亚洲国产在 | 香蕉tv国产在线永久播放 | 国产在线观看精品香蕉v区 国产在线观看a | 国产在线一区二区杨幂 | 亚洲精品中文字幕久久久久久 | 色网免费观看 | 亚洲成在人线视频 | 911亚洲精品国内自产 | 国产一级在线观看 | 2020国产精品视频免费 | 99久久精品在免费线18 | 免费被黄网站在观看 | 放荡的女老板bd中文字幕 | 4虎影院在线观看 | 女教师波多野结衣高清在线 | 女子监狱第二季在线观看免费完整版 | 啊啊啊好大视频 | ysl蜜桃色成人麻豆 youwu在线影院 |