0

我的文件结构如下所示:

/root
  /images
    image1.png
    image2.png
    button1.png
    button2.png
  /css
    app.css
    core.css
  /scripts
    jquery-1.6.4.min.js
    jquery.mobile-1.1.0.min.js
  /path1
    /pathA
      index.cshtml
      page1.cshtml
    index.cshtml
  /path2
    /pathA
      index.cshtml
      page1.cshtml
    /pathB
      index.cshtml
      page1.cshtml
    index.cshtml
  index.cshtml
  _layout.cshtml

所有 .cshtml 文件都依赖 _layout.cshtml 来共享内容。我的 _layout.cshtml 文件如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">

    <link rel="stylesheet" href="/css/core.css" />    
    <link rel="stylesheet" href="/css/app.css" />

    <script src="/scripts/jquery-1.6.4.min.js" type="text/javascript"></script> 
    <script src="/scripts/jquery.mobile-1.1.0.min.js" type="text/javascript"></script>

    <style type="text/css">
        #button1 .ui-icon { background: url(/images/button1.png) }
        #button2 .ui-icon { background: url(/images/button2.png)  }     
    </style>

</head>
<body>
    @RenderBody()
</body>
</html>

此文件以“/”开头引用所有 url。不幸的是,当我将我的应用程序移至 PhoneGap 时,这将不起作用。我希望用相对路径替换所有开头的“/”。例如,如果我访问 /path1/pathA/index.cshtml 我希望两个按钮 css 定义看起来像:

  #button1 .ui-icon { background: url(../../images/button1.png) }
  #button2 .ui-icon { background: url(../../images/button2.png)  }      

有没有一种方法可以自动更改我的路径,以便它们是相对的,如上所示?我对我想要的东西有意义吗?

4

1 回答 1

3

我建议您使用内置的 html 助手,例如:

<script src="@Url.Content("~/Scripts/jquery-1.6.4.min.js")" type="text/javascript"></script>

...

#button1 .ui-icon { background: url(@Url.Content("~/Content/images/button1.png")) }
于 2012-07-20T14:51:59.727 回答