2012-01-11 174 views
0

我是ASP.net的新手,只是找不到任何關於如何在ASP.NET上提供靜態文件的文檔。我指的是像images/javascripts/jars/xls等文件...asp.net,如何提供靜態文件

爲了更清楚一點,我沒有興趣向用戶提供文件,而是對我的javascript,java小程序,等等...所以我在尋找的是一種方式來處理特定的GET請求與參數是返回具有適當的MIME類型的文件。

對於不同的方法,你有什麼建議嗎? 非常感謝!

回答

2

使用絕對或根目錄相對路徑,以避免多級頁面

在ASP.NET你可以使用混亂的領先〜產生相對於當前站點的根目錄大多數服務器端控件的URL,如下所示:<img src="~/image.jpg" runat="server">

您還可以使用ResolveUrl方法(以及其他類似方法)在不使用服務器端控件的情況下擴展此類路徑。更多信息

var JQueryPath=<%= Url.Content ("~/Img/myImage.jpg") %>" 

如果您需要在您的JS代碼中使用這些路徑,你可以做以下

http://msdn.microsoft.com/en-us/library/system.web.ui.control.resolveurl.aspx

Best practices, How to specify relative path for css,javascript and images files?

1

這是不是真的一個ASP .NET問題,以及更多的IIS工作。

不要錯誤地假設你需要用服務器控件做所有事情。如果你只是希望人們能夠下載這些文件,那麼簡單的<a href='/yourstaticcontent'>link</a>就可以做到,而且實際上最好是使用服務器端控件。

編輯 我同意Massimiliano從根源表達路徑。

+0

我沒有讓自己清楚,我想,我更新這個問題。我對爲用戶提供文件不感興趣。 – Jerome 2012-01-11 10:42:41

1

如果您從控制面板安裝了IIS/ASP.NET,則可能未打開靜態內容。

你會發現在控制面板中爲它的複選框,啓用Windows功能打開或關閉:萬維網服務/常見HTTP功能/靜態內容