1

有人可以帮我绑定数据吗?我是 .net 和 c# 的新手,并且正在学习那些只能让我走到一半的教程。aspx 如下:

<asp:Repeater ID="rptContent" runat="server">
  <HeaderTemplate>
    <table>
      <thead>
        <tr>
            <th>T</th>
            <th>L</th>
            <th>S</th>
        </tr>
      </thead>
      <tbody>
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
      <td><%# Eval("T") %></td>
      <td><%# Eval("L")%></td>
      <td><%# Eval("S")%></td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </tbody>
    </table>
  </FooterTemplate>
</asp:Repeater>

但在后端我不知道如何实际绑定数据。如果有教程有人可以发给我来关注这部分,我会很感激,或者如果你能解释一下,那就太好了。

public List<Sample> Results()
    {    
        List<Sample> List = new List<Sample>();    
        myList.Add(new Sample { Title = "Title   
1", Link = "/item.aspx?id=1", Summary = "summary     
for Item 1" });

        return List;
    }  

    public class Content
    {
        public string T
        {
            get;
            set;
        }

        public string L
        {
            get;
            set;
        }

        public string S
        {
            get;
            set;
        }
    }
4

2 回答 2

1

可以直接绑定 Sample 的列表吗?或者您确实需要将其绑定到课程内容?

这里重要的是:在标记中,当您使用 Eval("") 时,您必须提供要绑定的对象的属性的确切名称。

如果您可以使用示例列表,我将执行以下 ASPX:

<asp:Repeater ID="rptContent" runat="server">
  <HeaderTemplate>
    <table>
      <thead>
        <tr>
            <th>T</th>
            <th>L</th>
            <th>S</th>
        </tr>
      </thead>
      <tbody>
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
      <td><%# Eval("Title") %></td>
      <td><%# Eval("Link")%></td>
      <td><%# Eval("Summary")%></td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </tbody>
    </table>
  </FooterTemplate>
</asp:Repeater>

在代码隐藏中:

protected void Page_Load(object sender, EventArgs e)
{
    rptContent.DataSource = Results();
    rptContent.DataBind();
}
public List<Sample> Results()
{    
        List<Sample> List = new List<Sample>();    
        myList.Add(new Sample { Title = "Title   
1", Link = "/item.aspx?id=1", Summary = "summary     
for Item 1" });

        return List;
}
于 2013-09-27T15:21:47.173 回答
1

您分配给转发器数据源的集合需要是包含您要绑定到的属性的项目集合。

集合中的单个项目Results不直接拥有L, T, &S属性,因此在将此集合绑定到转发器时,转发器无法找到这些属性。在您的情况下,您需要绑定到Content对象集合:

List<Content> contentResults = new List<Content>();
contentResults.Add(new Content(){L="el", T="tee", S="es"});
rptContent.DataSource = contentResults;
rptContent.DataBind();
于 2013-09-27T15:30:24.360 回答