Ответ 1
Посмотрите ASP.NET MVC JavaScript Routing
Возможный дубликат:
Приветствие помощника в java script
Url.Content(...) Метод asp.net mvc helper возвращает эквивалентный абсолютный URL. Я ищу метод в jquery или javascript, который работает так...
потому что я хочу выделить javascript-код в файл (.js), и вы знаете, что этот файл не поддерживает Url.Content(...) внутри javscript-кода....
url (...) метод jquery не работает, как Url.Content()
Обновлено: 22 янв 2011
Привет, ребята, обходной путь:
В файле .cshtml я создал функцию GetPath, которая возвращает абсолютный путь, включая имя домена, и может быть доступна в любом файле .js. Включите следующий код в любое представление ASP.NET MVC (.cshtml или .aspx или .vbhtml):
<script type="text/javascript">
var fullPath = '@HttpContext.Current.Request.Url.Scheme://@HttpContext.Current.Request.Url.Authority';
function GetPath(url) {
return fullPath + url;
}
</script>
<script src="@Url.Content("~/JavaScriptFile.js")" type="text/javascript"></script>
И код внутри любого файла javascript.
$(function () {
alert(GetPath('/Content/Site.css'));
});
Результат: http://www.yourDomain.com/Content/Site.css или localhost: 1234/Content/Site.css → Сервер Visual Cassini
Вам просто нужно заменить @Url.Content("")
на GetPath('')
в любом файле .js...
http://muaz-khan.blogspot.com/2012/02/absolute-or-relative-url-issues-and.html
Посмотрите ASP.NET MVC JavaScript Routing
Кроме того,
здесь есть отличный пример:
Вы пишете свой JavaScript в представлении ASP.NET MVC... или в отдельном файле JavaScript?
который использует атрибуты данных в jquery для хранения суровых объектов именно для цели, которую вы предлагаете. Ознакомьтесь с принятым ответом для получения полной информации.