2014-02-14 5 views
1

Я пытаюсь Concat строку в MVCMVC4 строка CONCAT с Html.DisplayFor и строка

Это то, что я пытаюсь сделать

<img src="~/Content/CompanyLogo/@Html.DisplayFor(modelItem => item.CompanyLogo)+".jpg"" /> 

Но это не допускается .. .

Что мне делать? Я дизайнер и у меня нет возможности, чтобы изменить модель, чтобы обеспечить его в правильном формате ...

ответ

1

Попробуйте

<img src="~/Content/CompanyLogo/@(Model.CompanyLogo).jpg" /> 

Предполагая CompanyLogo является свойством модели, бритву при отображении представления присвойте значение свойства CompanyLogo.

Обратите внимание, что я использовал @() синтаксис. Синтаксис в скобках явно указывает бритве, что это выражение для оценки.

Here представляет собой удобный список ссылок синтаксиса бритвы, написанный Филом

Если в течение каждого цикла, попробуйте этот

@foreach (var img in Model.Images) 
{ 
    <img src="@Url.Content("~/Content/CompanyLogo/"+img.CompanyLogo+".jpg")"/> 
} 

или более упрощенную версию (~ работу с ASP. NET MVC4 года только)

@foreach (var img in Model.Images) 
{ 
    <img src="~/Content/CompanyLogo/@(img.CompanyLogo).jpg""/> 
} 
+0

Он не приемлет @ Модель, только @item, как это часть цикла Еогеасп. используя @ item.CompanyLogo.jpg производит ошибку компилятора – MyDaftQuestions

+0

@MyDaftQuestions попробуйте отредактировать в моем ответе – Shyju

1

Вам не нужно DisplayFor в этом случае. Попробуйте это (предполагая, что ваш CompanyLogo является строковое свойство непосредственно на модели):

<img src="~/Content/CompanyLogo/" + @Model.CompanyLogo + ".jpg" /> 
+1

Это делает его verbatum – MyDaftQuestions

+0

Обновлено, попробуйте это – mayabelle

+0

Извините, я не могу +1 с моей репутацией – MyDaftQuestions

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