Comment rendre un morceau de Html dans une variable dans Razor? Spark I utilisé pour écrire le code suivant:Razor - comment rendre le contenu dans une variable
<content var="t">
<a class="tab" href="">Tab name</a>
</content>
<content var="tc">
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</content>
!{tabs(t, tc)}
deux variables et sont transmis à une macro qui fait tout le joli emballage du contenu dans la feuille de tabulation.
Quelle est la meilleure façon de faire la même chose avec Razor?
Mise à jour: Je pense que je l'ai ..
En rasoir, la construction peut être @<text>...</text>
utilisateur pour produire des expressions lambda, qui peuvent être réutilisés plus tard, ce qui est un équivalent étendu d'attribution d'un morceau de HTML à une variable. L'exemple ci-dessus peut être mis en œuvre de la manière suivante:
Func<int, object> t =
@<text>
<a class="tab" href="">Tab name</a>
</text>;
Func<int, object> tc =
@<text>
<div class="tabcontent">
<p>Here goes tab content</p>
</div>
</text>;
@tabs(t(0), tc(0))
Je ne peux pas comprendre comment écrire lambdas sans paramètre (Func<object>
). le paramètre int
dans les deux lambdas ci-dessus est un mannequin. Razor semble avoir besoin d'un paramètre (et crée déjà une variable "item" pour le désigner dans l'expression).
merci, je pense que ce que je vraiment besoin est une syntaxe d'aide en ligne. Je ne suis pas encore disponible sur Razor. la solution serait de déclarer un assistant explicite, qui peut être appelé et le résultat pourrait être assigné dans une variable. – Andy
J'avais tort dans le commentaire ci-dessus. La syntaxe est disponible, aucune aide explicite n'est requise. Les expressions lambda peuvent être utilisées à la place. Voir ma question mise à jour. – Andy