2012-09-10 8 views
10

Okay, also habe ich ein paar coole Sachen über stark typisierte Repeater-Steuerungen nachgeschaut ... das einzige Problem ist, dass es nicht funktioniert. Ich habe eine List<Entry>, an die ich meinen Repeater gebunden habe. Ich möchte nur die Daten anzeigen. Normalerweise verwende ich ((Entry)(Container.DataItem)), aber von dem, was ich gelesen habe, kann ich nur den Typ im ItemType deklarieren.Verwenden von ItemType für stark typisierte Repeater-Kontrolle?

Nun ... das habe ich versucht, aber ich bekomme nichts. Was vermassele ich hier?

<asp:Repeater ID="UserRptr" ItemType="HROpenEnrollment.Classes.Entry" runat="server"> 
    <ItemTemplate> 
     <ul class="UserList"> 
      <li class="CompoundField"> 
       <%# ???? I can't use Item here. %> 
      </li> 
     </ul> 
    </ItemTemplate> 
</asp:Repeater> 

Ich würde vermuten, dass es meine Einstiegsklasse nicht findet ... wie bekomme ich das da drin? Es befindet sich im selben Namespace in einem separaten Ordner.

+0

Können Sie einen Link zu dem, was Sie gelesen haben? 'ItemType' ist eine Eigenschaft von' RepeaterItem', nicht 'Repeater'. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeateritem.itemtype.aspx – McGarnagle

+1

@dbaseman Ursprünglich las ich http://weblogs.asp.net/scottgu/archive/ 2011/09/02/strict-typed-data-controls-asp-net-vnext-series.aspx. Nach der Google-Suche wurde mir jedoch mitgeteilt, dass ModelType in ItemType umbenannt wurde. Wie soll ich diese Methode richtig anwenden? – proseidon

+0

Ich bin mir nicht sicher, aber es scheint VS 2012/ASP.Net 4.5 zu erfordern. Arbeiten Sie damit? – McGarnagle

Antwort

19

Sie müssen hinter Daten in Code binden, wie unten:

using (MicroGOVEntities entities = DataEntitiesFactory.GetInstance()) 
{ 
    var getGovernments = from g in entities.S_Government 
         orderby g.DateCreated descending 
         select g; 
    rpData.DataSource = getGovernments.ToList(); 
} 
rpData.DataBind(); 

Und die ASP.NET-Code ist:

<asp:Repeater ID="rpData" runat="server" 
       ItemType="MicroGOV.Entity.S_Government" 
       OnItemCommand="rpData_ItemCommand"> 
    <ItemTemplate> 
     <td><%#:Item.GovernmentID %></td> 
    </ItemTemplate> 
</asp:Repeater> 
Verwandte Themen