2012-12-01 126 views
0

我有两个页面。在第2页上,我手动将值输入到控件,并将这些值分配给属性。当我点击第2页“确认”,我用下面的方法来启动会议(我猜):ASP.NET - 将会话数据从页面2传递到页面1

protected void Button1_Click(object sender, EventArgs e) 
    { 
     AssignValues(); 

     //Start data sessions 
     Session["ID"] = IDizposoje; 
     Session["Ime"] = Ime; 
     Session["Priimek"] = Priimek; 
     Session["DatumIzposoje"] = DatumIzposoje; 
     Session["DatumVrnitve"] = DatumVrnitve; 
     Session["VrstaVozila"] = VrstaVozila; 

     Response.Redirect("Default.aspx"); 
    } 

我想什么你帮我,是表示gridview的第一页上在列的数据。我有6个属性,因此,6列。

这怎么可能实现?

+0

你想为单个记录使用'GridView'还是这些属性集合?你可以使用'DataTable'来代替它,将它存储在Session中,并将它用作'GridView'的'DataSource'。 –

+0

'当我点击第2页上的“确认”时,我开始会话(我猜)'。你猜错了。会话在用户第一次登录站点时开始,当会话超时(或强行清除)时结束。 – Oded

+0

我在哪里创建DataTable?在第1页还是第2页? – cvenko

回答

1

当您为其分配内容时,您不会启动Session。会话在用户访问网站的第一页时立即开始。

你想为单个记录使用GridView还是这些属性集合? 您可以创建DataTable而不是Page2,将其存储在会话中,并将其作为DataSource用于GridView

在 “Default.aspx的”

protected void Page_Load(Object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
    { 
     DataTable table = (DataTable) Session["TblIzposoje"]; 
     GridView1.DataSource = table; 
     GridView1.DataBind(); 
    } 
} 

如果GridView已成立AutogenerateColumnstrue这将直接工作。

相关问题