Как ссылаться на абсолютный путь из jQuery в приложении .NET - PullRequest
1 голос
/ 06 июля 2010

У меня есть несколько 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, символ 325 jquery-1.4.2.min.js.

Ответы [ 2 ]

2 голосов
/ 08 июля 2010

Вот кое-что, что я сделал в паре проектов.Он предназначен для использования с ASP.NET MVC, но я думаю, что он может быть адаптирован и для веб-форм.

скрипт: 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'));
1 голос
/ 06 июля 2010

Если вы не используете виртуальные каталоги в какой-либо среде, вы можете просто использовать /images/plus.gif

Если у вашего сайта есть такой URL-адрес localhost/mysite/default.aspx, он не будет работать

...