I have the following in my ASP.Net MVC 3 Razor View
@foreach (var item in Model.FormNotes) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.User.firstName)
</td>
</tr>
}
Which works fine, however, I would like to concatenate the string to display both the firstName and lastName, but when I try to do this
<td>
@Html.DisplayFor(modelItem => item.User.firstName + @item.User.lastName)
</td>
I get the following error
Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions
Does anyone know how to concatenate a string in a Razor View?
Thanks all.
EDIT
My Razor View accepts a ViewModel which looks like this
public class ViewModelFormNoteList
{
public IList<Note> FormNotes { get; set; }
}
I would like to put the FullName property in here, as suggested by Roy, however, I am not sure how to get it working???
Note
class as per Roy's suggestion, then it would all work without further change (other than of course the@Html.DisplayFor(modelItem => modelItem.FullName)
part :)) if it's not possible to change the Note class, then you may have to create a mapping class which includes the concatenation property and then use that in yourViewModelFormNoteList
class – Giana