2013-12-22 17 views
-3

我正在用c#在asp.net中製作購物車,使用存儲在Session中的DataTable和存儲在DataTable中的所有項目。在asp.net中使用購物車的正確方法

public DataTable dtCart = new DataTable(); 
protected void Page_Load(object sender, EventArgs e) 
{ 

    if (!IsPostBack) 
    { 
     if (Session["dtCart"] == null) { CreateCartTable(); } 

    } 
} 
protected void CreateCartTable() 
{ 
    dtCart.Rows.Clear(); 
    dtCart.Columns.Clear(); 

    dtCart.Columns.Add(new DataColumn("Prd_Id", Type.GetType("System.String"))); 
    dtCart.Columns.Add(new DataColumn("Prd_Name", Type.GetType("System.String"))); 
    dtCart.Columns.Add(new DataColumn("Prd_Img", Type.GetType("System.String"))); 
    dtCart.Columns.Add(new DataColumn("Qty", Type.GetType("System.Int32"))); 
    dtCart.Columns.Add(new DataColumn("Rate", Type.GetType("System.Decimal"))); 
    dtCart.Columns.Add(new DataColumn("Amount", Type.GetType("System.Decimal"))); 
    dtCart.Columns.Add(new DataColumn("TotalAmount", Type.GetType("System.Decimal"))); 

    Session["dtCart"] = dtCart; 

} 

這是正確的方法或任何其他方式是更優雅和輕的應用程序? 僅供參考我正在使用Web表單。

+1

你可以問上http://programmers.stackexchange.com這樣的問題該網站會讓你問爲最佳算法! –

回答

1

你可以讓一個類來車:

public class Cart 
{ 
    public string Prd_Id{set;get;} 
    public string Prd_Name{set;get;} 
    //and so on...   
} 

然後在頁面:

Cart obj=new Cart{Prd_Id="1",Prd_Name="John"}; 
Session["dtCart"]=obj;