Le espressioni lambda/metodi anonimi sono supportate nel motore di visualizzazione Razor?Le espressioni lambda sono supportate da Razor?
Sto avendo difficoltà ad esprimere quanto segue in Razor:
@Model.ToList().ForEach(i =>
{
if (i.DealerName != null)
{
<text>
@i.DealerName
</text>
}
}
Nota: So che può risolvere questo con @foreach
ma ho bisogno di una soluzione simile per un controllo MVC 3rd party. Utilizza questo meccanismo per impostare il contenuto del controllo. Funziona bene per le viste MVC .ASPX ma non riesce a farlo funzionare con Razor.
MVC ASPX equivalente (il codice vorrei convertire in sintassi Razor):
<% Model.ToList().ForEach(i =>
{
if (i.DealerName != null)
{
%> <%=i.DealerName%> <%
};
});
%>
Questo è per il motore Razor fornito con ASP.NET MVC3.
Sì 'Risposta.Write' funziona, ma per un esempio più complesso la concatenazione delle stringhe sfugge molto rapidamente. :( –
Sì, hai ragione .. Ho aggiornato il post per consentire praticamente qualsiasi tipo di codice Razor all'interno di questa funzione .. Divertiti :) –
Grazie per il tuo disturbo hai preso Artiom. Mi piace particolarmente il tuo trucco multi linea. Sfortunatamente non posso cadere in un blocco di codice come questo. Come ho accennato nella mia domanda, ho bisogno di fornire il mio contenuto/modello all'interno dell'espressione lambda dei produttori di componenti per costruire il controllo. Sembra così semplice nel codice .ASPX. Devo dire che le espressioni lambda non sono supportate in Razor allo stesso livello del codice MVC .ASPX? –