次のようなファイル構造があります。
/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 にアクセスした場合、2 つのボタンの CSS 定義は次のようになります。
#button1 .ui-icon { background: url(../../images/button1.png) }
#button2 .ui-icon { background: url(../../images/button2.png) }
上記のようにパスが相対的になるようにパスを自動的に変更する方法はありますか? 私は自分が欲しいものに意味がありますか?