2013-06-02 19 views
13

mam zapisać nazwę magazynu obrazów w bazie danych i pliku obrazu w folderze lokalnym użyłem powiązać obraz onokaut obraz src wiązanie problemu

<img width="16px" height="16px" data-bind="attr:{src: PhotoName}" /> 

w html to pokazać

<img src="http://sitename.com/Controller/action/imagename.extension"/> 

ale potrzebujesz:

<img src="http://sitename.com/imagefolder/imagename.extension"/> 

jakikolwiek pomysł, jak mogę to naprawić? Z góry dzięki.

+0

Co zawiera słowo "PhotoName"? Tylko 'imagename.extension'? – nemesv

+0

Dlaczego uważasz, że jest to problem nokautu? Co przechowujesz w 'PhotoName'? –

+0

Onliy nazwa zdjęcia i rozszerzenie w bazie danych i obrazu znajduje się w folderze – Ronjon

Odpowiedz

24

Twój problem nie ma nic wspólnego z plikiem kncokout.js. Jeśli Twój PhotoName zawiera tylko imagename.extension, musisz ręcznie zbudować ścieżkę obrazu, aby prawidłowo wyświetlać obrazy.

Więc trzeba stworzyć poprawną ścieżkę albo w wiązaniu bezpośrednio:

<img data-bind="attr:{ src: '/imagefolder/' + PhotoName }" /> 

Uwaga Jeśli PhotoName jest ko.observable potem trzeba napisać src: '/imagefolder/' + PhotoName().

Lub przenieś tę logikę do swojego modelu podglądu, np. tworzenie obliczonej właściwości, która buduje link lub gdy tworzysz swój viewmodel, przypisuje poprawny adres URL do PhotoName itd.

+0

fajne .... :) Dzięki tobie Człowieku ... – Ronjon

+0

Pierwszy Dodałem to: ale to nie działa. ale teraz działa z powodu "()" – Ronjon

+0

Co powiesz na temat input type = "file"? – ManirajSS