Чтобы связать текст, как это вы должны создать свой собственный пользовательский построитель выражений.
Во-первых, добавить такой класс в пространстве имен:
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 %>' />
Сложный способ добиться чего-то простого, но это позволит вам использовать синтаксис, который вы хотите, через весь ваш проект, поэтому может стоить дополнительных усилий.
Reference.
что текст в 'Text = '<% = HTTPContext.Current.User.Identity.Name%>'' –
это атрибут управления asp: label – HOY
@HOY: почему бы вам не написать текст ярлыка в коде позади? –