Чтобы привязать текст таким образом, вам нужно создать свой собственный конструктор пользовательских выражений.
Сначала добавьте такой класс в ваше пространство имен:
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);
}
}
Следующий шаг - добавление этого в файл web.config:
<compilation debug="true">
<expressionBuilders>
<add expressionPrefix="Code" type="YourNameSpace.CodeExpressionBuilder"/>
</expressionBuilders>
</compilation>
Тогда, наконец, это должно работать:
<asp:Label id="YourLabel" runat="server" Text='<%$ Code:HttpContext.Current.User.Identity.Name %>' />
Сложный способ достичь чего-то простого, но это позволит вам использовать синтаксис, который вы хотите использовать во всем проекте, поэтому может стоить дополнительных усилий.
Ссылка .