c#
  • asp.net
  • anonymous-types
  • nested-repeater
  • 2010-08-12 49 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

    相關問題