1

使用 .NET 中继器是否可以调用 #Eval('') 指令中的方法?例如,如果我要绑定到具有 DateTime 属性的对象,那么设置 #Eval("ADateTimeProperty.ToString('hh:mm')") 或类似的东西会非常方便。是创建另一个返回格式化日期时间的属性的唯一选择吗?

4

2 回答 2

4

绝对地。但是,对于您的日期时间问题,您可以使用:

<%# ((DateTime)Eval("ADateTimeProperty").ToString("hh:mm") %>

如果你想调用一个方法,你可以这样做:

<%# MyCustomMehtod(Eval("ADateTimeProperty")) %>

在代码隐藏上:

protected string MyCustomMethod(object input)
{
    return DateTime.Parse(input.ToString()).ToString("hh:mm");
}
于 2009-06-05T21:46:34.423 回答
2

您可以使用将Eval格式字符串作为第二个参数的方法的重载:

<%# Eval("ADateTimeProperty", "{0:hh:mm}") %>
于 2009-06-05T21:50:38.987 回答