您好我正在Win7上的IIS上部署MVC应用程序。我已经在localhost / appPortal上部署了它。 appPortal配置为应用程序而不是虚拟目录。不幸的是,MVC中的应用程序根被映射到localhost而不是localhost / appPortal。这打破了我对脚本,CSS,图像等的所有链接。任何人都可以帮助我理解为什么会发生这种情况以及如何解决它?
答案 0 :(得分:2)
有关如何创建链接的更多信息会很有趣。
要检查的第一件事是在IIS中正确创建了应用程序,我认为它是。 (如果不是,你可能会从嵌套的web.config文件中获得错误)
第二件事,网址应该像这样创建而不是直接创建:
<%= Url.Content("~/yourpath/yourfile.css") %>
也许这个question about Url.Content会向您展示更多选项。检查UrlHelper和HtmlHelper上的MSDN文档。
答案 1 :(得分:0)
最佳解决方案是不在您的应用程序中使用rooted链接(以/开头的链接)。您可以使用〜/作为对应用程序根目录的引用。我使用这样的东西
<script src="<%=ResolveClientUrl("~/script/something.js") %>"
解析为/ scripts。这样做可以使您的应用程序更加便携
答案 2 :(得分:0)
您也可以使用HTML 5文档类型和<base>
标记。
这可能不是一个选择,所以你应该像Marc所说的那样使用URL助手。