我在 Visual Studio 2010 中开发了一个 Asp.Net MVC 应用程序。到目前为止一切顺利。在图像和脚本执行的路径分辨率方面,一切都在 Visual Studio 中完美运行。当我使用 MVC 的默认模板时,我使用的是“../../Script/ *.js”类型的路径。在我构建用于部署的包并在 IIS 中部署后,图像和脚本引用停止工作。我认为这可能是路径解析问题。我尝试使用“~/Script/.js”,但它也不起作用。有人可以提出为什么会这样吗?
问问题
2800 次
3 回答
3
考虑在您的任何 asp.net MVC 项目中使用两件事。
1) 使用 _Layout.cshtml 为常见站点元素使用布局,并在其中包含所有 javascript 和 css 文件,除非必要,否则不要将其放在任何其他 .cshtml 页面上。看这里如何使用 _Layout.cshtml
2)第二件事总是使用 @Url.Content() 指令来定义你的路径,例如
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
这两种方式总是可以帮助您并且即使您部署包也不会出现问题。
以上希望有所帮助。
于 2012-09-25T10:41:12.253 回答
2
我们在asp.net中使用URL Rewriting时遇到的这类问题,而asp.net mvc默认有一个URL Rewriting。
因此,当您使用脚本或 url 和 js 时,您可以像这样设置路径。
@Url.Content("~/Your Url or Your script or Your js File ") ;
我想这会对你有所帮助。
于 2012-09-24T05:46:48.580 回答
1
MVC 内置了生成 url 的函数,因此请使用这些函数而不是硬编码 url
@Url.Content("~/yourpath")
当您将 webapp 部署到 IIS 上时,您的站点设置为作为虚拟目录运行,因此网站根目录不再与应用程序根目录相同,MVC 必须
ActionLinks,Url.Contents
解析 Url。
于 2012-09-24T05:35:09.647 回答