簡體   English   中英

查找Web應用程序的根目錄

[英]Find a root directory of the web application

我正在嘗試在服務器上找到一個根文件夾。 什么都行不通,或行不通

@{
        string [] list = Directory.GetFiles(Directory.GetCurrentDirectory());
        foreach(var item in list)
        {
            <p>@item</p>   
        }
    }

准確顯示我不需要的東西

@{
        string [] list = Directory.GetFiles("~/");
        foreach(var item in list)
        {
            <p>@item</p>   
        }

}

不起作用

如何解決呢?

您可以使用以下內容:

Server.MapPath("~");

~始終是ASP.NET應用程序的根。 如果將其插入到Razor視圖中,它將被轉換為“外部訪問”的適當路徑,例如,如果將站點托管在根目錄中,則~/Content/site.css將轉換為/Content/site.css例如,如果/Page1/Content/site.css托管在名為Page1的虛擬目錄中, /Page1/Content/site.css為。 因此,要獲取您需要“映射”的絕對路徑。

如果您無權訪問Server ,則也可以使用HostingEnvironment.ApplicationPhysicalPath

嘗試

Server.MapPath("~");

要么:

HostingEnvironment.ApplicationPhysicalPath 

請參考http://msdn.microsoft.com/en-us/library/ms178116.aspx 為了您的方便,我修改了您的代碼:

string [] list = Directory.GetFiles(Server.MapPath("~"));
        StringBuilder sb=new StringBuilder();
        foreach (var item in list)
        {
            sb.Append(item + "\n");
        }

        Response.Write(sb);

即使我給您答案,我還是建議您嘗試使用可在web.config或數據庫中配置的路徑,因為修復路徑就像對登錄ID進行硬編碼一樣:)。 希望你能得到我。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM