Bạn có thể sử dụng model để binding dữ liệu ra ngoài repeater trong web form. Bài dưới đây sẽ hướng dẫn cách hiển thị danh sách dạng List ra Repeater
Đầu tiên, xây dựng một model Product đơn giản như sau
public class Product
{
public int ProductID { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
Tại trang ShowProducts tạo List và Binding dữ liệu vào
public partial class ShowProducts : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var products = new List<Product>();
products.Add(new Product() { ProductID = 1, Name = "Bike", Price = 150.00 });
products.Add(new Product() { ProductID = 2, Name = "Helmet", Price = 19.99 });
products.Add(new Product() { ProductID = 3, Name = "Tire", Price = 10.00 });
ProductList.DataSource = products;
ProductList.DataBind();
}
}
Tới đây bạn đã biết cách tạo View chưa nhỉ? Tại trang ASP.NET chúng ta thêm vào như sau:
<asp:Repeater ID="ProductList" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %> for only <%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>
<br />
<a href='<%# DataBinder.Eval(Container.DataItem, "ProductID", "details.asp?id={0}") %>'>See Details</a>
<br />
<br />
</ItemTemplate>
</asp:Repeater>
Hoặc có thể sử dụng container với tham số như sau
<asp:Repeater ID="ProductList" runat="server">
<ItemTemplate>
<%# Eval("Name") %> for only <%# Eval("Price", "{0:c}") %>
<br />
<a href='<%# Eval("ProductID", "details.asp?id={0}") %>'>See Details</a>
<br />
<br />
</ItemTemplate>
</asp:Repeater>