2009-10-19 5 views
1

Les expressions de liaison (par exemple, <% #%>) ne sont autorisées que de manière très limitée dans les habillages ASP.NET.Expressions de code dans les thèmes ASP.NET

Il apparaît que seuls Eval déclarations (« ») avec littérales arguments sont acceptés.

Aucune fonction de mise en forme ou expression composée n'est autorisée.

en deux parties question:

  1. Comment un support Text = '<% # Eval (MyEnum.FirstName)%>' intérieur d'une peau

  2. Comment fonctionne un support Texte = '<% # Eval (MyEnum.FirstName) + Eval (MyEnum.LastName)%>' à l'intérieur d'une enveloppe

Répondre

0

Est-ce que cela fonctionnera?

<%= MyEnum.FirstName %> 

edit: se bloquer, cela ne fonctionnera que si vous produisez du code html brut. Est-ce ce que vous essayez d'accomplir?

edit: Pourquoi ne pas ajouter une propriété à votre classe MyEnum qui fait votre concaténation pour vous? Par exemple, quelque chose comme:

public string FullName { get { return FirstName + ' ' + LastName; } } 

Ensuite, votre expression de liaison pourrait être:

<%# Eval(MyEnum.FullName) %> 
+0

Non, ce sont les expressions de liaison appliquées pour contrôler les propriétés. – Sam

+0

Je suis désolé si ce n'est pas clair mais il y a deux problèmes distincts et distincts. Problème n ° 1: Eval() dans les fichiers skin n'accepte que les littéraux et non les chaînes ou les enums. Problème n ° 2: Eval() dans les fichiers skin n'accepte pas les expressions composites (concaténations, fonctions de mise en forme, etc.). Oui, il est possible de pousser tout cela jusqu'à l'objet source en dernier recours, mais je voudrais comprendre de quoi la limitation provient et s'il y a une meilleure solution. – Sam

+0

Pas de soucis, je ne pense pas pouvoir vous aider. – Chris

Questions connexes