ایجاد ListView های تو در تو Asp.Net
پنجشنبه 28 خرداد 1394در این مقاله قصد داریم تا نحوه ایجاد لیست ها تو در تو را در Asp.Net پیاده سازی کنیم .
در مرحله اول یک کلاس برای آدرس مربوط به مشتریان ایجاد میکنیم
public class Address { public string Country { get; set; } public string State { get; set; } public string City { get; set; } }
در مرحله دوم یک کلاس برای مشتریان ایجاد میکنیم
public class Customer { public string CustomerName { get; set; } public string Email { get; set; } public string Website { get; set; } public List<Address> Address { get; set; } }
در مرحله صفحه Customer.Aspx را ایجاد میکنیم
<asp:ListView runat="server" ItemPlaceholderID="placeHolderCustomer" ID="LstCustomers"> <LayoutTemplate> <div> <asp:PlaceHolder runat="server" ID="placeHolderCustomer" /> </div> </LayoutTemplate> <ItemTemplate> Customer Name:<asp:Label ID="Label1" Text='<%# Eval("CustomerName") %>' runat="server" /><br /> Email:<asp:Label ID="Label2" Text='<%# Eval("Email") %>' runat="server" /><br /> Website:<asp:Label ID="Label3" Text='<%# Eval("Website") %>' runat="server" /> <asp:ListView ID="ListView1" runat="server" DataSource='<%# Eval("Address") %>' ItemPlaceholderID="addressPlaceHolder"> <LayoutTemplate> <div style="padding-left: 30px;"> <table border="1" cellpadding="0" cellspacing="0"> <asp:PlaceHolder runat="server" ID="addressPlaceHolder" /> </table> </div> <hr /> </LayoutTemplate> <ItemTemplate> <tr> <td> <asp:Label ID="Label4" Text='<%# Eval("Country") %>' runat="server" /> </td> <td> <asp:Label ID="Label3" Text='<%# Eval("State") %>' runat="server" /> </td> <td> <asp:Label ID="Label5" Text='<%# Eval("City") %>' runat="server" /> </td> </tr> </ItemTemplate> </asp:ListView> </ItemTemplate> </asp:ListView>
و در مرحله آخر و در رویداد Load صفحه لیستی میسازیم و به ListView متصل میکنیم
<asp:ListView runat="server" ItemPlaceholderID="placeHolderCustomer" ID="LstCustomers"> <LayoutTemplate> <div> <asp:PlaceHolder runat="server" ID="placeHolderCustomer" /> </div> </LayoutTemplate> <ItemTemplate> Customer Name:<asp:Label ID="Label1" Text='<%# Eval("CustomerName") %>' runat="server" /><br /> Email:<asp:Label ID="Label2" Text='<%# Eval("Email") %>' runat="server" /><br /> Website:<asp:Label ID="Label3" Text='<%# Eval("Website") %>' runat="server" /> <asp:ListView ID="ListView1" runat="server" DataSource='<%# Eval("Address") %>' ItemPlaceholderID="addressPlaceHolder"> <LayoutTemplate> <div style="padding-left: 30px;"> <table border="1" cellpadding="0" cellspacing="0"> <asp:PlaceHolder runat="server" ID="addressPlaceHolder" /> </table> </div> <hr /> </LayoutTemplate> <ItemTemplate> <tr> <td> <asp:Label ID="Label4" Text='<%# Eval("Country") %>' runat="server" /> </td> <td> <asp:Label ID="Label3" Text='<%# Eval("State") %>' runat="server" /> </td> <td> <asp:Label ID="Label5" Text='<%# Eval("City") %>' runat="server" /> </td> </tr> </ItemTemplate> </asp:ListView> </ItemTemplate> </asp:ListView> Step 4 Add the following code in Page Load of Customer.aspx: List<Customer> objCustomers = new List<Customer>() { new Customer() { CustomerName="Customer 1", Email="Customer1@Customer.com", Website="www.Customer1.com", Address=new List<Address>() { new Address() { Country="Country1", State="State1", City="City1", }, new Address() { Country="Country1", State="State1", City="City2", }, new Address() { Country="Country1", State="State2", City="City3", } } }, new Customer() { CustomerName="Customer 2", Email="Customer2@Customer.com", Website="www.Customer2.com", Address=new List<Address>() { new Address() { Country="Country2", State="State2", City="City4", }, new Address() { Country="Country2", State="State2", City="City5", }, new Address() Country="Country2", State="State2", City="City6", } } }, new Customer() { CustomerName="Customer 3", Email="Customer3@Customer.com", Website="www.Customer3.com", Address=new List<Address>() { new Address() { Country="Country3", State="State4", City="City7", }, new Address() { Country="Country3", State="State5", City="City8", }, new Address() { Country="Country3", State="State6", City="City9", } } } }; LstCustomers.DataSource = objCustomers; LstCustomers.DataBind();
- ASP.net
- 1k بازدید
- 0 تشکر