MVC4字符串与HTML.DisplayFor和字符串连接

时间:2014-02-14 20:22:14

标签: c# asp.net-mvc

我正在尝试在MVC中连接一个字符串

这就是我要做的事情

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

但是不允许......

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

2 个答案:

答案 0 :(得分:1)

试试这个

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

假设CompanyLogo是模型的属性,Razor将在呈现视图时呈现CompanyLogo属性的值。

请注意,我使用了@()语法。括号语法明确告诉razor它是一个要计算的表达式。

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""/>
}

答案 1 :(得分:1)

在这种情况下,您不需要DisplayFor。试试这个(假设你的CompanyLogo是一个直接在模型上的字符串属性):

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