2011-09-24 36 views
1

我的数据源是客户在web表单列表项目列表<type>访问

protected void Page_Load(object sender, EventArgs e) 
{ 
    List<Customer> customers = new List<Customer>(); 
    customers.Add(new Customer() { FirstName = "John", PhoneNumber = "999.999.9999" }); 
    customers.Add(new Customer() { FirstName = "Jane", PhoneNumber = "999.999.9999" }); 

} 

有迭代,在一个网页表单项目的aspx页面的方式。 (这在使用模型的mvc中很容易)?

回答

0

对此使用Repeater控件。下面是一个例子:

标记:

<asp:Repeater ID="CustomerRepeater" runat="server"> 
    <ItemTemplate> 
     <span>Name:</span> <%# Eval("FirstName") %> 
     <span>Phone:</span> <%# Eval("PhoneNumber ") %> 
    </ItemTemplate> 
</asp:Repeater> 

代码后面:服务器控制的

protected void Page_Load(object sender, EventArgs e) 
{ 
    List<Customer> customers = new List<Customer>(); 
    customers.Add(new Customer() { FirstName = "John", PhoneNumber = "999.999.9999" }); 
    customers.Add(new Customer() { FirstName = "Jane", PhoneNumber = "999.999.9999" }); 

    CustomerRepeater.DataSource = customers; 
    CustomerRepeater.DataBind(); 
} 
0

使用`的DataSource”:(实施例中的DropDownList)

Default.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!this.IsPostBack) 
    { 
     this.ddlCustomers.DataSource = this.GetCustomers(); 
     this.ddlCustomers.DataBind(); 
    } 
} 

public List<Customer> GetCustomers() 
{ 
    List<Customer> customers = new List<Customer>(); 
    customers.Add(new Customer() { FirstName = "John", PhoneNumber = "999.999.9999" }); 
    customers.Add(new Customer() { FirstName = "Jane", PhoneNumber = "999.999.9999" }); 

    return customers; 
} 

Default.aspx的

<asp:DropDownList ID="ddlCustomers" runat="server" DataTextField="FirstName" DataValueField="FirstName"></asp:DropDownList> 

或者,如果你需要,你可以在ASPX使用 'MVC式':

<% foreach(WebApplication1.Customer customer in this.GetCustomers()) { %> 
    <span><%= customer.FirstName %></span> 
<% } %>