要绑定这样,你必须创建自己的自定义表达式生成器的文本。
首先,添加这样的类命名空间:
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%>' – 2012-03-20 12:31:37
它是一个asp:标签控件属性 – HOY 2012-03-20 12:32:21
@HOY:为什么不写标签文本在代码后面? – 2012-03-20 12:36:07