2012-01-11 101 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功能/静态内容