2013-11-23 7 views
1

Как создать один сеанс со списком? Может ли один сеанс содержать много атрибутов? После того, как создать, как создать на GridViewСессионная помощь, с хранилищем и отображением на gridview

if (Session["Cart"] == null) 
{ 
    Session["Cart"] = new List<string>() { Id }; 
    var name = (List<string>)Session["Cart"]; 
    name.Add(lblName.Text); 
    var Qty = (List<string>)Session["Cart"]; 
    Qty.Add(txtAddtoCart.Text); 
    var Price = (List<string>)Session["Cart"]; 
    Price.Add(lblPrice.Text); 

    if (lblProductStates.Visible == true) 
    { 
     var Promotion = (List<string>)Session["Cart"]; 
     Promotion.Add(lblProductStates.Text); 
    } 
} 

<asp:SqlDataSource ID="BasketData" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" > 
    </asp:SqlDataSource> 

ответ

1

Вы можете непосредственно хранить List в session: -

, например: -

List<string> lt=new List<string>(); 
lt.Add("first"); 

Затем сохранить его в сессии: -

Session["Cart"]=lt; 

Если вы хотите получить данные из сеанса (на том же или ano ь еще страница), вы можете сделать так: -

List<string> lst=(List<string>)Session["cart"]; 

и теперь, наконец, привязать его к GridView: -

GridView1.DataSource = lst;// Note gridview1 is your gridview ID 
GridView1.DataBind(); 

Надеется, что это помогает.

+0

ok i get it thx u Список cart = новый Список (); cart.Add (Id); cart.Add (lblName.Text); cart.Add (txtAddtoCart.Text); cart.Add (lblPrice.Text); if (lblProductStates.Visible == true) { cart.Add (lblProductStates.Text); } Сессия ["Корзина"] = cart; как насчет получения на другой странице? показать в gridview? – Mickey

+0

Как получить и показать на gridview? – Mickey

+0

ok .. см. Обновленный ответ .. – Pranav