2016-01-06 15 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你可以看到一個例子。

相關問題