ASP.Net MVC 3 Razor Concatenate String

tco*_*ode 12 concatenation string-concatenation razor asp.net-mvc-3

我在ASP.Net MVC 3 Razor View中有以下内容

@foreach (var item in Model.FormNotes) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.User.firstName)
    </td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但是,我想连接字符串以显示firstName和lastName,但是当我尝试这样做时

<td>
  @Html.DisplayFor(modelItem => item.User.firstName + @item.User.lastName)
</td>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式

有谁知道如何在Razor视图中连接字符串?

谢谢大家.

编辑

我的Razor View接受一个看起来像这样的ViewModel

public class ViewModelFormNoteList
{
    public IList<Note> FormNotes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想将FullName属性放在这里,正如Roy所建议的那样,但是,我不知道如何让它工作?

Roy*_*tus 18

DisplayFor需要一个属性来映射,所以连接是不可能的.您可以在模型上公开只读属性FullName,然后返回串联:

public string FullName
{
   get
   {
      return User.FirstName + " " + User.LastName;
   }
}
Run Code Online (Sandbox Code Playgroud)

然后在你的DisplayFor.

@Html.DisplayFor(modelItem => modelItem.FullName);
Run Code Online (Sandbox Code Playgroud)


小智 5

 @Html.DisplayFor(modelItem => item.FirstName) @Html.DisplayFor(modelItem => item.LastName)
Run Code Online (Sandbox Code Playgroud)