我刚刚在VS2010中创建了一个新的ASP.NET Web应用程序,并将其设置为IIS7中的应用程序。
不确定这是否相关,但代码实际上位于\ myserver \ projects \ epeui \ epe文件夹中(projects文件夹是我的默认网站的根目录)。该应用程序挂起了本机默认网站的根目录:http://myserver/epe/。并配置为IIS中的应用程序。
通常,我使用的是相对于应用程序根目录的URL,因此我的CSS文件位于/ styles /中,我的图像位于/ images /中,我的JavaScript文件位于/ scripts /中。
鉴于IIS中的应用程序配置如此,为了访问我的徽标,我希望使用/images/mylogo.png,一个与应用程序相关的URL。
但是,这对本网站不起作用;相反,我需要使用相对于默认网站(/epe/images/mylogo.png)的父路径(../images/mylogo.png)或URL。出于便携性的原因,这些都不是很好。
我也尝试使用代字号来使用相对于虚拟路径的URL(即应用程序根目录)=〜/ images / mylogo.png
我发誓我以前做了一千次,但显然搞砸了......有什么建议吗?
有人至少可以确认,对于IIS中的标准应用,/mypage.html
应该引用http://myserver/myapp/mypage.html
而不是http://myserver/mypage.html
吗?
答案 0 :(得分:1)
/mypage.html将映射到根http://myserver/mypage.html,这是正确的行为
SERVER SIDE控件上的〜将映射到应用程序根目录(因此<asp:HyperLink NavigateUrl="~/mypage.html"...>
将映射到http://myserver/myapp/mypage.html
我在过去,特别是css和javascript文件必须使用<%= Request.ApplicationPath %>/myPage.html
。有时最好将它定义为global.asax.cs中的全局变量,以便全部使用它。您实例中的Request.ApplicationPath将为“/ myapp”
我也很努力。