2013-08-08 5 views
0

Мои URL-адреса не разрешаются правильно. При развертывании мое имя приложения не указывается в URL-адресах. Предполагается, что: http: //// Контент/изображения/ect Но это получается как http: /// Content/images/ect , который, очевидно, не разрешает. Мой URLS выглядит следующим образом:Ресурс ресурса MVC URL-адреса не разрешаются

<img src="/Content/images/Misc/Lock.png" /> 

Если добавить ~ к URL (перед содержанием) он решает полностью при развертывании, но перерывы в моем Dev среде.

Это приложение MVC означает, что у меня также есть несколько вызовов ajax для действий (controller/action /), которые также не разрешают, нарушая большую часть сайта.

Я развернулся под стандартным веб-сайтом в IIS, перемещение его на другой сайт не является вариантом.

Любой совет будет очень благодарен.

ответ

1

Вы пытались использовать Url.Content?

Было бы что-то вроде этого (непроверенные)

<img src="@Url.Content("~/Content/images/Misc/Lock.png")" />

+0

Спасибо Рику. Это устраняет проблему с моими изображениями, но мои вызовы ajax все еще не работают. Вызовы происходят в файле сценария, поэтому помощники HTML там недоступны. – Swifty

+0

Не видя вашей системы или насколько сложным является javascript, одно из решений, которое я успешно использовал, было бы отображать скрытый элемент

1

Это связано с вашим хозяином, если вы работаете этот сайт в качестве суб-сайта, а не под его собственного сайта IIS, хост требуется ~. Я обошел это, используя глобальную переменную javascript, чтобы удерживать корень сайта. Я заселить переменную в основной макет сайта, как так:

var gSiteRoot = '@MvcHtmlString.Create(Url.Content("~/"))'; 

Тогда, когда мне нужно построить URL в JS я использую его следующим образом:

var url = gSiteRoot + 'restofurl'; 
+0

Причина, по которой я делаю это, заключается в том, что вы не можете использовать HTML-помощники в js-файлах. не используйте js-файлы, просто используйте предложение Рика Б. – Maess

+0

Согласен. T его альтернатива тому, что я предложил, и хорошее решение. То, что вы выбираете, должно зависеть от того, что наиболее важно для вашей системы. –

+0

Спасибо Maess! Я использовал комбинацию вашего ответа и Рика. к сожалению, я могу отметить только один ответ в качестве ответа. – Swifty

Смежные вопросы