una paginar paginacion net hacer example ejemplo como asp c# asp.net repeater

c# - paginar - repeater asp net ejemplo



Enlazando una lista genérica a un repetidor-ASP.NET (4)

Código detrás:

public class Friends { public string ID { get; set; } public string Name { get; set; } public string Image { get; set; } } protected void Page_Load(object sender, EventArgs e) { List <Friends> friendsList = new List<Friends>(); foreach (var friend in friendz) { friendsList.Add( new Friends { ID = friend.id, Name = friend.name } ); } this.rptFriends.DataSource = friendsList; this.rptFriends.DataBind(); }

.aspx Page

<asp:Repeater ID="rptFriends" runat="server"> <HeaderTemplate> <table border="0" cellpadding="0" cellspacing="0"> <thead> <tr> <th>ID</th> <th>Name</th> </tr> </thead> <tbody> </HeaderTemplate> <ItemTemplate> <tr> <td><%# Eval("ID") %></td> <td><%# Eval("Name") %></td> </tr> </ItemTemplate> <FooterTemplate> </tbody> </table> </FooterTemplate> </asp:Repeater>

Estoy intentando vincular una List<AreaField> a un repetidor. He convertido la lista en una matriz usando el método ToArray() y ahora tengo una matriz de AreaField[]

Aquí está mi jerarquía de clases

public class AreaFields { public List<Fields> Fields { set; get; } } public class Fields { public string Name { set; get; } public string Value {set; get; } }

En el aspx, me gustaría vincularlo con un repetidor (algo como esto)

DataBinder.Eval(Container.DataItem, "MyAreaFieldName1")

MyAreaFieldName1 es el valor de la propiedad Name en la clase AreaFieldItem.


Debe usar el método ToList (). (No se olvide del espacio de nombres System.Linq)

ex.:

IList<Model> models = Builder<Model>.CreateListOfSize(10).Build(); List<Model> lstMOdels = models.ToList();


Es posible que desee crear un subRepeater.

<asp:Repeater ID="SubRepeater" runat="server" DataSource=''<%# Eval("Fields") %>''> <ItemTemplate> <span><%# Eval("Name") %></span> </ItemTemplate> </asp:Repeater>

También puedes enviar tus campos

<%# ((ArrayFields)Container.DataItem).Fields[0].Name %>

Finalmente, podría hacer una pequeña función de CSV y escribir sus campos con una función

<%# GetAsCsv(((ArrayFields)Container.DataItem).Fields) %> public string GetAsCsv(IEnumerable<Fields> fields) { var builder = new StringBuilder(); foreach(var f in fields) { builder.Append(f); builder.Append(","); } builder.Remove(builder.Length - 1); return builder.ToString(); }


Es sorprendentemente simple ...

Código detrás:

// Here''s your object that you''ll create a list of private class Products { public string ProductName { get; set; } public string ProductDescription { get; set; } public string ProductPrice { get; set; } } // Here you pass in the List of Products private void BindItemsInCart(List<Products> ListOfSelectedProducts) { // The the LIST as the DataSource this.rptItemsInCart.DataSource = ListOfSelectedProducts; // Then bind the repeater // The public properties become the columns of your repeater this.rptItemsInCart.DataBind(); }

Código ASPX:

<asp:Repeater ID="rptItemsInCart" runat="server"> <HeaderTemplate> <table> <thead> <tr> <th>Product Name</th> <th>Product Description</th> <th>Product Price</th> </tr> </thead> <tbody> </HeaderTemplate> <ItemTemplate> <tr> <td><%# Eval("ProductName") %></td> <td><%# Eval("ProductDescription")%></td> <td><%# Eval("ProductPrice")%></td> </tr> </ItemTemplate> <FooterTemplate> </tbody> </table> </FooterTemplate> </asp:Repeater>

¡Espero que esto ayude!