c#
  • asp.net
  • anonymous-types
  • nested-repeater
  • 2010-08-12 51 views 0 likes 
    0

    我的* .aspx页面中有两个嵌套中继器。嵌套中继器的匿名类型(ASP .NET)

    <asp:Repeater runat="server" id="rptMain"> 
        <ItemTemplate> 
         <h1><%#DataBinder.Eval(Container.DataItem, "Name")%></h1> 
         <asp:Repeater runat="server" DataSource='<%# getUser(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "FieldKey"))) %>'> 
          <HeaderTemplate><ol></HeaderTemplate> 
          <ItemTemplate> 
           <li class="<%#DataBinder.Eval(Container.DataItem, "CSSStyle")%>" id="li<%#DataBinder.Eval(Container.DataItem, "FieldKey")%>"> 
           <%#DataBinder.Eval(Container.DataItem, "NameSubject")%> 
           </li> 
          </ItemTemplate> 
          <FooterTemplate></ol></FooterTemplate> 
         </asp:Repeater> 
        </ItemTemplate> 
    </asp:Repeater> 
    

    getUser是一种受保护的方法。它必须返回具有以下属性的列表:

    1. 的CssClass
    2. FieldKey
    3. NameSubject

    但CssClass属性被定义为匿名类型。

    protected List<????> getUser(int id) 
    { 
        DataClassesDataContext datacontext = new DataClassesDataContext(); 
        var t1= from t in datacontext.GetAllCustomSubject(id).ToList() 
          select new { t.NameSubject, t.FieldKey, CSSStyle = t.IsDeleted ? "deleted hidden" : "real visible" }; 
        return t; 
    } 
    

    我该如何返回这样的List?我可以使用什么样的数据类型而不是? ? 一般来说,我可以使用匿名类型的嵌套中继器吗?

    回答

    1

    那么,中继器不会在乎,我怀疑 - 所以只是声明它返回IEnumerable

    +0

    你能说清楚吗? 受保护IEnumerable getUser 可能是,我误解了吗? – 2010-08-12 12:43:16

    +1

    @Amber:只是'IEnumerable','System.Collections'中的非泛型类型。 – 2010-08-12 13:00:51

    +0

    它的工作原理。谢谢。 – 2010-08-12 13:09:50

    相关问题