2013-06-07 10 views
1

Я использую durandal для создания сайта SPA. Дело в том, что URL-адрес не всегда стабилен.Как создать стабильный маршрутизатор Durandal URL

Я делаю страницу входа на сайт из SPA, поэтому после входа в систему я использую RedirectToAction MVC3 для перенаправления на индекс SPA.

Иногда URL является http://localhost/Student/Home/Index#/, а иногда это http://localhost/Student/Home/Index/#/

Сначала я думаю, что это не имеет большого значения, но сейчас это действительно разозлил меня, потому что я должен использовать изображения за пределами папки Дюрандаль.

- durandal folder 
- Content/Images folder 

Когда я звоню из вида SPA, как это:

<img src="../Content/Images/img_chart.png" alt=""/> 

Я работаю только тогда, когда URL является Index#/ не тогда, когда URL является Index/#/

Как я могу сделать URL стабильной каждый раз ? Кажется, это проблема SammyJS, я полагаю.

+0

Что такое 'RedirectToAction' и что делает' router.map'. Вы можете использовать относительные ссылки из корня вместо 'src ="/Student/Home/Content/Images/img_chart.png "alt =" "/>'? – RainerAtSpirit

+0

Пожалуйста, разместите свой код входа с помощью RedirectToAction. –

ответ

2

Применить образ src через класс, определенный в файле css. После этого вы можете использовать расположение изображения относительно вашего местоположения css.

<div><img class="loading" /></div> 

класс для «загрузки» может быть определен в базе css. У меня это определено в моем layout.css

.loading 
{ 
    content:url('images/ajax-loader.gif'); 
} 

Теперь layout.css упоминалось использует свое собственное местоположение, чтобы сформировать относительный путь к папке изображений и все это работает.

|-[]Images 
    |-ajax-loader.gif 
|-[]SomeotherFolder 
|-layout.css 

надеюсь, что это помогает

0

Использование контента: URL для Img элементов соответственно не поддерживается w3c и не работает в FFX. (img elemenents ДОЛЖЕН иметь атрибут src)