Ho la seguente nel mio ASP.Net MVC 3 Razor vistaASP.Net MVC 3 Razor Concatenate String
@foreach (var item in Model.FormNotes) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.User.firstName)
</td>
</tr>
}
che funziona bene, però, vorrei concatenare la stringa da visualizzare sia il Nome e lastName, ma quando provo a fare questo
<td>
@Html.DisplayFor(modelItem => item.User.firstName + @item.User.lastName)
</td>
ottengo il seguente errore
I modelli possono essere utilizzati solo con l'accesso di campo, l'accesso alle proprietà, un array monodimensionale i ndex, o espressioni di indicizzazione personalizzate a parametro singolo
Qualcuno sa come concatenare una stringa in una visualizzazione a rasoio?
Grazie a tutti.
EDIT
mio rasoio View accetta un ViewModel che assomiglia a questo
public class ViewModelFormNoteList
{
public IList<Note> FormNotes { get; set; }
}
vorrei mettere la proprietà FullName qui, come suggerito da Roy, tuttavia, non sono sicuro come farlo funzionare ???
tg - come per la tua modifica, dovresti modificare la tua classe 'Note' secondo il suggerimento di Roy, quindi funzionerebbe tutto senza ulteriori cambiamenti (oltre ovviamente al' @ Html.DisplayFor (modelItem => modelItem.FullName) 'part :)) se non è possibile modificare la classe Note, potrebbe essere necessario creare una classe di mapping che includa la proprietà di concatenazione e quindi utilizzarla nella classe' ViewModelFormNoteList' Jim –
- Grazie, questo ha senso. – tgriffiths
+1 a Jim ...... –