将 DataList 绑定到对象的方法而不是属性

发布于 2024-07-23 00:29:22 字数 555 浏览 7 评论 0原文

我有一个如下所示的类:

public class Person
{
  public string Name { get; set; }

  public string Thing() { 
    ...
  }

  ...

}

如果我有一个用作 DataList 控件的数据源的 IList,并且 DataList 如下所示:

<asp:DataList runat="server" RepeatColumns="1" ID="Profiles">
    <ItemTemplate>                                  
        <%#Eval("Name") %>          
    </ItemTemplate>
</asp:DataList>

如何替换数据源的 Name 属性并调用数据源对象的 Thing() 方法?

I have a class that looks like this:

public class Person
{
  public string Name { get; set; }

  public string Thing() { 
    ...
  }

  ...

}

If I have an IList<Person> that I'm using as a data source for a DataList control, and the DataList looks like this:

<asp:DataList runat="server" RepeatColumns="1" ID="Profiles">
    <ItemTemplate>                                  
        <%#Eval("Name") %>          
    </ItemTemplate>
</asp:DataList>

How do I replace the Name property of the data source with a call to the data source object's Thing() method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乖乖哒 2024-07-30 00:29:22
<%#((Person)Container.DataItem).Thing()%>
<%#((Person)Container.DataItem).Thing()%>
情未る 2024-07-30 00:29:22

使用属性。 该属性将是“Name”(或其他),该属性上的“Getter”将是您希望用来生成该值的方法。 虽然您可以从这里调用函数,但我认为使用属性会是更好的设计。

Use properties. The property will be "Name" (or whatever) and the "Getter" on this property will be the method you wish to use to generate the value. While you can call a function from here, I think it would be better design to use a property.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文