2015-04-24 3 views
0

Я хочу отобразить изображение в моем приложении MVC с помощью knockoutjs. Я использую следующий код. Javascript (images.js)Связывание пути изображения в MVC с использованием knockoutjs

function viewModel() { 
     this.ImgPath = ko.observable("~/Content/Images/abcd.JPG"); 
}; 
ko.applyBindings(new viewModel()); 

в View,

<img data-bind="attr: { src: ImgPath }" /> 

Также я добавил следующее, на мой взгляд.

<script src="~/Scripts/jquery-2.1.3.js"></script> 
<script src="~/Scripts/knockout-3.3.0.js"></script> 
<script src="~/Scripts/images.js"></script> 

Но изображение не отображается в моем приложении. Как связать путь изображения для просмотра в mvc с помощью нокаута?

+1

Проблема будет с '~', потому что '~' будет пониматься только ASP.Net, а не HTML. Дайте обычный путь, например - '/ Content/Images/abcd.JPG', и проверьте. Позвольте мне знать, если это помогает. – ramiramilu

+0

@ramiramilu: Нет ... Еще проблема остается такой же ... –

+0

Вы видели ошибку в F12 Developer Tools of browser? Вы уверены, что изображение существует в пути? я думаю, вам нужно дать - '../ Content/Images/abcd.JPG', если ваше представление находится в папке Views, тогда вам нужно переместить верхнюю часть уровня, а затем перейти к местоположению изображения. – ramiramilu

ответ

2

Изменить траектории изображения, начиная с "~/Content/Images/abcd.JPG" до "/Content/Images/abcd.JPG".

~ не будет понимать HTML и не будет загружать изображение. ~ будет понят только механизмом ASP.Net.

1

Я сделал небольшое изменение в своем коде.

function viewModel() { 
this.ImgPath = ko.observable("/Content/Images/abcd.JPG"); 
}; 
ko.applyBindings(new viewModel()); 

И теперь его рабочий штраф. Спасибо всем.

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