2009-11-08 25 views
1

我需要实现自己的ExpressionBuilder。我知道如何实现GetCodeExpression(),所以我能够在标记中做到: <%$ OwnBuilder:的MyMethod(PARAM)%>ExpressionBuilder中的EvaluateExpession

但现在我也需要实现EvaluateExpression回到我自己的结果方法(像做<%$ OwnBuilder:PARAM%>应如何EvaluateExpression方法来实现这样的事情??:??

public override object EvaluateExpression(object target, BoundPropertyEntry entry, object parsedData,  ExpressionBuilderContext context) 
{ 
    return OwnExpressionBuilderPrivateMethod(entry.Expression); 
} 

和什么有关GetCodeExpression()

谢谢lot。

回答

1

CompilationMode设置为'Never'并且ExpressionBuilder通过重写SupportsEvaluate属性(并返回'true')来支持评估时,将使用EvaluateExpression方法。

如果您不打算支持这些无编译页面,则默认情况下,SupportsEvaluate返回false,因此只需实现返回null的EvaluateExpression方法。

在我们的ExpressionBuilder实现中,我们使用GetCodeExpression方法支持<%OwnBuilder:param%>类型的表达式。

相关问题