Pour lier le texte comme cela, vous devrez créer votre propre générateur d'expression personnalisée.
D'abord, ajouter cette classe à votre espace de noms:
using System.Web.Compilation;
using System.CodeDom;
[ExpressionPrefix("Code")]
public class CodeExpressionBuilder : ExpressionBuilder
{
public override CodeExpression GetCodeExpression(BoundPropertyEntry entry,
object parsedData, ExpressionBuilderContext context)
{
return new CodeSnippetExpression(entry.Expression);
}
}
L'étape suivante ajoute ceci dans votre fichier web.config:
<compilation debug="true">
<expressionBuilders>
<add expressionPrefix="Code" type="YourNameSpace.CodeExpressionBuilder"/>
</expressionBuilders>
</compilation>
Puis, finalement, cela devrait fonctionner:
<asp:Label id="YourLabel" runat="server" Text='<%$ Code:HttpContext.Current.User.Identity.Name %>' />
Une façon compliquée de réaliser quelque chose de simple, mais cela vous permettra d'utiliser la syntaxe que vous voulez dans votre ensemble projet pourrait donc valoir l'effort supplémentaire.
Reference.
quel est le texte dans 'Text = '<% = HTTPContext.Current.User.Identity.Name%>'' –
c'est un attribut de contrôle d'étiquette d'asp: – HOY
@HOY: pourquoi n'écrivez-vous pas le texte d'étiquette dans le code derrière ?? –