在ASP.NET Repeater中格式化数据

时间:2010-10-14 20:48:56

标签: asp.net repeater

我有一个使用ASP.NET Repeater的ASP.NET Web表单。此转发器的数据源是DataTable,其中包含一个名为“City”的列,另一个名为“State”。在Repeater的ItemTemplate中,我想调用一个名为“FormatLocation”的自定义方法。此方法定义为:

protected string FormatLocation(string city, string state)
{
  string location = city;
  if (state.Length > 0)
    location += ", " + state.ToUpper();
  return location;
}

我想在ItemTemplate中绑定数据时调用此方法,以便结果显示在UI中。谁能告诉我怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

如果从数据库获取它们,您可以这样做  在中继器上

<ItemTemplate>
    <%#FormatLocation(Container.DataItem)%>
</ItemTemplate>

在代码背后

protected string FormatLocation(object oItem)
{
    string city = DataBinder.Eval(oItem, "city").ToString();
    string state = DataBinder.Eval(oItem, "state").ToString();

     string location = city;
      if (state.Length > 0)
        location += ", " + state.ToUpper();
      return location    
}

如果它们不是来自数据库,而是来自列表,那么对象oItem就是数据本身。