Образ не найден в пути после развертывания приложения mvc3 в виртуальном каталоге - PullRequest
3 голосов
/ 12 октября 2011

Q: следующее изображение не будет разрешено, как указано в скрипте .js (скрипт js находится в ~ / scripts со всеми другими скриптами .js из коробки mvc3)

src: '/content/themes/base/images/down.gif'

Это работает локально, но не при удаленном развертывании на сервере iis6.0 в качестве виртуального каталога.

Я пробовал:

src: '~/content/themes/base/images/down.gif'

но это не разрешится локально или удаленно.

Следующее будет работать удаленно, если я жестко закодирую путь к виртуальному каталогу (virtualdirectoryname - это фактический виртуальный каталог)

src: 'virtualdirectoryname/content/themes/base/images/down.gif'

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Вы можете справиться с этим несколькими способами.Похоже, лучше всего было бы создать функцию Javascript, которая даст вам базовый URL, а затем использовать ее для построения ваших путей.

Вот пример этого из http://www.gotknowhow.com/articles/how-to-get-the-base-url-with-javascript:

function getBaseURL() {
    var url = location.href;  // entire url including querystring - also: window.location.href;
    var baseURL = url.substring(0, url.indexOf('/', 14));


    if (baseURL.indexOf('http://localhost') != -1) {
        // Base Url for localhost
        var url = location.href;  // window.location.href;
        var pathname = location.pathname;  // window.location.pathname;
        var index1 = url.indexOf(pathname);
        var index2 = url.indexOf("/", index1 + 1);
        var baseLocalUrl = url.substr(0, index2);

        return baseLocalUrl + "/";
    }
    else {
        // Root Url for domain name
        return baseURL + "/";
    }

}

Тогда ваш код будет выглядеть так:

src: getBaseURL() + '/content/themes/base/images/down.gif'
0 голосов
/ 12 октября 2011

Вы не можете использовать ~ в JavaScript.Попробуйте:

../Content/themes/base/images/down.gif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...