视图中的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);

 

posted @ 2013-04-23 18:20  瓜王  阅读(207)  评论(0编辑  收藏  举报