一 .Server.MapPath的命名空間:
習慣用Access的朋友都知道:ADO.NET鏈接Access數(shù)據(jù)庫經(jīng)常這么寫: strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("datebase/indexDB.mdb"); 這里用Server.MapPath得到應用程序的物理路徑!如果你是在當前web項目下的一個類中如上寫鏈接語句,可能會提示找不到Server、因為Server的完整路徑是System.Web.HttpContext.Current.Server。using System.Web是顯然不夠的;但是在從內(nèi)置Page類繼承的類中可以直接寫Server.MapPath"data.mdb"),應該是因為Page類已經(jīng)包含了這些類路徑。 如果你從Page類繼承的類中執(zhí)行這條語句,才可以簡單地使用 DataBase = Server.MapPath("data.mdb"); 否則寫全命名空間:System.Web.HttpContext.Current.Server.MapPath(); 注意:如果是在一個類庫下的一個類中、要先添加引入using System.Web;因為新建一個類庫時默認是不引入using System.Web的!
總結:System.Web.HttpContext.Current.Server.MapPath():
二。Server.MpaPath()的用法
老是忘記Server.MapPath的使用方法了,下面記錄一下,以備后用: 總注:Server.MapPath獲得的路徑都是服務器上的物理路徑,也就是常說的絕對路徑 1、Server.MapPath("/") 注:獲得應用程序根目錄所在的位置,如 C:\Inetpub\wwwroot\。 2、Server.MapPath("./") 注:獲得所在頁面的當前目錄,等價于Server.MapPath("")。 3、Server.MapPath("../") 注:獲得所在頁面的上級目錄。 4、Server.MapPath("~/") 注:獲得當前應用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。
三。例子:
private void UpFile() { string imgExt;
string FilePath = Server.MapPath("/DownLoad/"); HttpFileCollection HFC = Request.Files; for (int i = 0; i < HFC.Count; i++) { HttpPostedFile HF = HFC[i]; try { //上傳的格式 imgExt = System.IO.Path.GetExtension(HFC[i].FileName).ToString().ToLower(); //imgExt來接收文件的后綴名 if (imgExt != ".jpg" && imgExt != ".gif" && imgExt != ".png" && imgExt != ".rar") { Response.Write("<Script Language='JavaScript'>alert('上傳的文件格式錯誤。');</Script>"); return; } //判斷是否有文件上傳,如果>0,說明有文件上傳,反之則相反。 if (HFC[i].ContentLength > 0) { //判斷上傳文件的大小 int len = HFC[i].ContentLength / (1024); if (len <= 1024) { //HF.SaveAs(FilePath + System.IO.Path.GetFileName(HF.FileName)); FileName= DateTime.Now.ToString("yyyyMMddHHmmss"); HF.SaveAs(FilePath + FileName + imgExt); Page.RegisterStartupScript("sb1", "<script>alert('上傳成功!')</script>"); } else { Page.RegisterStartupScript("sb1", "<script>alert('對不起,附件太大了!')</script>"); } } else { Page.RegisterStartupScript("sb4", "<script>alert('對不起,請先選擇上傳的文件路徑!')</script>"); } } catch { Page.RegisterStartupScript("sb2", "<script>alert('對不起,下載失敗!')</script>"); }
} }
代碼到此結束:需要我們在前臺建立一個<asp:FileUpload ID="FileUpload1" runat="server" />
然后去調用即可。
四。Page的命名空間
System.Web.UI.Page
有什么不足的,還請大家多多指教!
命名空間:
ASP.NET中命名空間的簡單介紹 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient;
初學者在創(chuàng)建一個Web窗體時,默認情況下在該窗體代碼文件里,自動添加了以上10個命名空間(namespace)。如果程序員需要做數(shù)據(jù)庫編程,就要手動添加System.Data.SqlClient。以下,就對這些常見的命名空間做簡單的介紹。 1. System 包含用于定義常用值和引用數(shù)據(jù)類型、事件和事件處理程序、接口、屬性和處理異常的基礎類和基類。 其他類提供支持下列操作的服務:數(shù)據(jù)類型轉換,方法參數(shù)操作,數(shù)學計算,遠程和本地程序調用,應用程序環(huán)境管理以及對托管和非托管應用程序的監(jiān)管。 2. System.Collections 包含定義各種對象集合(如列表、隊列、位數(shù)組、哈希表和字典)的接口和類。 3. System.ComponentModel 提供用于實現(xiàn)組件和控件的運行時和設計時行為的類。此命名空間包括用于屬性和類型轉換器的實現(xiàn)、數(shù)據(jù)源綁定和組件授權的基類和接口。 4. System.Data 主要由構成ADO.NET結構的類組成。ADO.NET結構使您能夠生成有效地管理來自多個數(shù)據(jù)源的數(shù)據(jù)的組件。在斷開連接的情形中(如 Internet),ADO.NET提供在多層系統(tǒng)中請求、更新和協(xié)調數(shù)據(jù)的工具。ADO.NET結構也在客戶端應用程序(如ASP.NET創(chuàng)建的Windows窗體或 HTML頁)中實現(xiàn)。 5. System.Drawing 命名空間提供了對 GDI+ 基本圖形功能的訪問。在 System.Drawing.Drawing2D、System.Drawing.Imaging以及System.Drawing.Text命名空間中提供了更高級的功能。Graphics類提供了繪制到顯示設備的方法。諸如Rectangle和Point等類可封裝GDI+基元。Pen類用于繪制直線和曲線,而從抽象類Brush派生出的類則用于填充形狀的內(nèi)部。 6. System.Web 命名空間提供使得可以進行瀏覽器與服務器通訊的類和接口。此命名空間包括提供有關當前HTTP請求的廣泛信息的HttpRequest類、管理對客戶端的HTTP輸出的HttpResponse類以及提供對服務器端實用工具與進程的訪問的HttpServerUtility類。還包括用于Cookie操作、文件傳輸、異常信息和輸出緩存控制的類。 其中,HttpResponse 封裝來自 ASP.NET 操作的 HTTP 響應信息。HttpServerUtility 提供用于處理 Web 請求的 Helper 方法。 7. System.Web.SessionState 命名空間提供可將特定于某個單個客戶端的數(shù)據(jù)存儲在服務器上的一個Web應用程序中的類和接口。會話狀態(tài)數(shù)據(jù)用于向客戶端提供與該應用程序保持持久連接的樣式。狀態(tài)信息可以存儲在本地進程內(nèi)存中,或者,對于網(wǎng)絡場配置,也可以使用ASP.NET狀態(tài)服務或SQL Server數(shù)據(jù)庫將其存儲在進程之外。會話狀態(tài)可以與不支持Cookie的客戶端一起使用。ASP.NET可以配置為對客戶端和服務器之間傳輸?shù)腢RL字符串中的會話ID進行編碼。 8. System.Web.UI 命名空間提供的類和接口使您得以創(chuàng)建將作為用戶界面元素出現(xiàn)在您的 Web 應用程序中的 ASP.NET 服務器控件和頁。此命名空間包含控件類,該類為所有服務器控件(不論是 HTML 服務器控件、Web 服務器控件還是用戶控件)提供了一組通用功能。它還包含頁類,每當對包含在您的 Web 應用程序中的 .aspx 文件發(fā)出請求時,都會自動生成該類。從這兩種類都可以繼承。還提供了一些類,這些類為服務器控件提供了數(shù)據(jù)綁定功能、保存給定控件或頁的視圖狀態(tài)的能力,以及對可編程控件和文本控件的分析功能。 9. System.Web.UI.WebControls 命名空間是由類組成的集合,可利用它在Web頁上創(chuàng)建Web服務器控件。Web服務器控件運行在服務器上并且包括按鈕和文本框等窗體控件。它們還包括特殊用途的控件(如日歷)。由于Web服務器控件運行在服務器上,因此可以以編程方式控制這些元素。Web服務器控件比HTML服務器控件更抽象。它們的對象模型并不一定反映HTML語法。 10. System.Web.UI.HtmlControls 命名空間是允許在 Web 窗體頁上創(chuàng)建 HTML 服務器控件的類的集合。HTML 服務器控件運行在服務器上,并且直接映射到受大多數(shù)瀏覽器支持的標準 HTML 標記。這使您得以以編程方式控制 Web 窗體頁上的 HTML 元素。 11.System.Data.SqlClient 命名空間是SQL Server .NET Framework數(shù)據(jù)提供程序。SQL Server .NET Framework數(shù)據(jù)提供程序描述了一個類集合,這個類集合用于訪問托管空間中的SQL Server數(shù)據(jù)庫。使用SqlDataAdapter,可以填充駐留在內(nèi)存中的DataSet,該數(shù)據(jù)集可用于查詢和更新數(shù)據(jù)源。 SqlDataAdapter 表示用于填充 DataSet 和更新 SQL Server 數(shù)據(jù)庫的一組數(shù)據(jù)命令和一個數(shù)據(jù)庫連接。不能繼承此類。 SqlDataReader 提供一種從數(shù)據(jù)庫讀取只進的行流的一種方式。不能繼承此類。 SqlCommand 表示要對 SQL Server 數(shù)據(jù)庫執(zhí)行的一個 Transact-SQL 語句或存儲過程。不能繼承此類。 SqlConnection 表示 SQL Server 數(shù)據(jù)庫的一個打開的連接。不能繼承此類。
|