视图中的url路径布置在有虚拟目录下的问题
为了使项目能够布置在一个站点的应用下,需要修改项目中的一些url地址。情况有四种:
第一种:在引用的包中,这时,可以直接用@URl.Content给其包起来。
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
第二种:在html中,也可以直接用@Url.Content()或@Url.Action包起来。
url: "@Url.Action("GetCourseById","Course")"+"?tick=" + rd,
第三种:在js中,如果该js文件是在视图中,则可以使用第二种方式,同样做到。但倘若js在单独的包中,则不能这样做。考虑了几种方式后,我最终选用在layout页面上加载一个全局函数代码:
<script type="text/javascript" charset="utf-8"> function UrlContent(path) { return '@Url.Content("~/")' + path.replace(/^\//, ''); } </script>
第四种:在css中,如果该css文件是单独的.css,则backgroundurl 路径应该是针对css文件的路径,即改成类似:
#logo { width: 1007px; height: 80px; background-image: url(images/header_novo1.png); }
如果是在视图中的css文件,则是相对于视图页面的url,写成:
<input type="submit" name="delete" class="newsBtn" value=" " style="background-image: url(http://www.cnblogs.com/Content/images/btn_delete.png);