2016-01-06 39 views
0

我正在学校的网站上工作。我正在用db产品开店。我在一个foreach循环中为我的所有产品制作了一个按钮。对于每个按钮,我需要将数据保存在特定产品的字符中。我做错事情了。请帮帮我。如何在ASP.NET中使用db数据在foreach中添加动态按钮?

public partial class OrderFood : System.Web.UI.Page 
{  
    protected void Page_Load(object sender, EventArgs e) 
    { 
     FillPage();    
    } 

    public void FillPage() 
    { 
     ProductModel productModel = new ProductModel(); 
     List<Product> products = productModel.GetAllProducts(); 
     if (products != null) 
     { 
      foreach (Product product in products) 
      { 

       Panel OFood = new Panel(); 
       Image img = new Image(); 
       Label lblName = new Label(); 
       Label lblDetail = new Label(); 
       Label lblPrice = new Label(); 
       Button btn = new Button(); 
       DropDownList ddamount = new DropDownList(); 


       //amount 
       int[] amount = Enumerable.Range(1, 20).ToArray(); 
       ddamount.DataSource = amount; 
       ddamount.AppendDataBoundItems = true; 
       ddamount.DataBind(); 
       btn.ID = "s"; 
       img.ImageUrl = "~/AdminManagement/FoodImages/" + product.Image; 
       img.CssClass = "img-rounded3"; 
       ddamount.CssClass = "form-control"; 
       lblName.Text = product.Name; 
       btn.CssClass = "btn-success btn"; 
       btn.Text = "comanda mancare"; 
       lblDetail.Text = product.Desctiption; 

       lblPrice.Text = "Lei: " + product.Price; 
       OFood.Controls.Add(new Literal { Text = "<div class='col-xs-6 col-sm-3'>" }); 

       OFood.Controls.Add(img); 
       OFood.Controls.Add(new Literal { Text = "<br />" }); 
       OFood.Controls.Add(new Literal { Text = "<h3> " }); 
       OFood.Controls.Add(lblName); 
       OFood.Controls.Add(new Literal { Text = "</h3>" }); 
       OFood.Controls.Add(new Literal { Text = "<br />" }); 
       OFood.Controls.Add(lblDetail); 
       OFood.Controls.Add(new Literal { Text = "<br />" }); 
       OFood.Controls.Add(new Literal { Text = "<h4> " }); 
       OFood.Controls.Add(lblPrice); 
       OFood.Controls.Add(new Literal { Text = "</h4> " }); 
       OFood.Controls.Add(ddamount); 
       OFood.Controls.Add(btn); 
       OFood.Controls.Add(new Literal { Text = "</div>" }); 

       // add dinamyc panlels to static parent panel 

       OFoodP.Controls.Add(OFood); 

       btn.Click +=delegate 
       { 
        if (!string.IsNullOrWhiteSpace(Request.QueryString["id"])) 
        { 

         string clientId = "-1"; 
         int id = Convert.ToInt32(Request.QueryString["id"]); 
         int AMount = Convert.ToInt32(ddamount.SelectedValue); 

         Cart cart = new Cart() 
         { 
          Amount = AMount, 
          ClientID = clientId, 
          DatePurchased = DateTime.Now, 
          IsInCart = true, 
          ProductID = id, 
         }; 

         CartModel model = new CartModel(); 
         lblResult.Text = model.InsetCart(cart); 
        } 
       }; 
      } 
     } 
     else 
     { 
      //no products found 
      OFoodP.Controls.Add(new Literal { Text = "no food found" }); 
     } 
    }  
} 
+1

什么是错误?错误在哪里?你试图做什么来解决它? – Roman

+0

我做了一个按钮,盯着我的产品和按钮不工作 –

回答

0

的最好方法是创建一个DataGridHere你可以看到一个例子。

相关问题