0

我正在尝试为 asp.net 转发器控件编写一个扩展方法,该方法允许我在转发器模板中调用以下代码。这就是说我想在中继器上调用我自己的 Eval 方法。

<%# UmbracoEval("propertyName") %>

我已经尝试将 Repeater 控件本身以及 NamingContainer 定位,但我看到容器受到保护时出现可访问性错误。

这甚至可能吗?我从来没有从标记中调用扩展方法,所以我不确定。谢谢。

4

1 回答 1

1

您仍然需要 Eval 或 Bind - UmbracoEval(Eval("propertyName"))UmbracoEval(Bind("propertyName")).

Eval 和 Bind 都返回一个对象,因此对象的扩展方法不是一个好主意。

UmbracoEval但是,您可以在后面的代码中创建它并从 aspx 调用它。

protected string UmbracoEval(object eval)
{
    return eval.ToString() + " abc"; // do something
}
于 2013-02-14T17:03:08.273 回答