2014-02-14 18 views
1

我想在MVCMVC4字符串连接与HTML.DisplayFor和字符串

到Concat的字符串这就是我想要做的

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

但不允许.. 。

我该怎么做?我是设计师,我没有编辑模式,提供它以正确的格式选项...

回答

1

试试这个

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

假设CompanyLogo是你的模型的属性,剃刀会呈现视图时呈现您的CompanyLogo属性的值。

请注意,我使用了@()语法。括号语法明确告诉剃须刀它是一个要评估的表达式。

Here是剃刀语法参考一个方便的清单,由Phil

如果是在每个循环写,试试这个

@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因为它是一个foreach循环的一部分。使用@ 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