1

いくつかの画像タグをブラウザに書き込むjQueryがありますが、パスをハードコーディングする必要がなく、相対パスも使用できないようにそれらを参照したいと思います。これは.NETアプリケーションであり、サーバー側のタグを使用しようとしています。

そこで、次のように変更しました。

$('#IMG_' + myID).attr('src','../images/plus.gif');

に:

$('#IMG_' + myID).attr('src','<%= Url.Content("~/images/plus.gif") %>');

また:

$('#IMG_' + myID).attr('src','<%= ResolveUrl("~/images/plus.gif") %>');

実行すると、javascriptエラー、48行目の無効な引数、jquery-1.4.2.min.jsのchar325が表示されます。

4

2 に答える 2

2

これが私がいくつかのプロジェクトで行ったことです。ASP.NET MVCで使用するように設計されていますが、WebFormsでも使用できると思います。

スクリプト:common.js

function Environment() { }    
Environment.vroot = '';

Environment.getUrl = function(path) {
    return Environment.vroot + path;
};

部分的なビュー/ユーザーコントロール:CommonScript.ascx

<script type="text/javascript">
    Environment.vroot = '<%= Url.Content("~/") %>';
</script>

CommonScript.ascxをマスターページに配置しましたが、どこにでも配置できます。ただし、common.jsへのスクリプト参照のにレンダリングする必要があります。

これを使用する場合は、これを実行して画像のURLを設定できます。

$('#IMG_' + myID).attr('src', Environment.getUrl('images/plus.gif'));
于 2010-07-07T21:11:34.940 に答える
1

どの環境でも仮想ディレクトリを使用していない場合は、/images/plus.gif

あなたのサイトがこのようなURLを持っている場合、localhost/mysite/default.aspxそれは機能しません

于 2010-07-06T00:48:26.657 に答える