单击时把DataGrid中的某列的值通过Session传出去的问题
我用下面的方法在用户单击DataGrid的时候打开一个新页:
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add ( "onclick ", "window.open( 'yl.aspx?ID= "+e.Item.Cells [0].Text + " ') ");
}
现在我不希望通过url来传值了,我想通过Session来完成:
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add ( "onclick ", "window.open( 'yl.aspx? ') ");
Session[ "LoginName "]=e.Item.Cells [0].Text;
}
可是我在另一页接收的时候,发现Session[ "LoginName "]是一个空格符 ,请问这是怎么回事?
------解决方案--------------------由于邦定时,每行的数据不同,因此,要区分不同的行,需要找到一个关键字。
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//伪代码
Session[ "key "+数据的键值,如id作为Session的key] = e.Item.Cells[0].Text;
e.Item.Attributes.Add ( "onclick ", "window.open( 'yl.aspx?ID= "+ 数据的键值,如id作为Session的key + " ') ");
}
此外,在获取Session时,需要传递这个关键字才能取到正确的数据,而不至于混淆。
------解决方案--------------------用单击事件试一下
------解决方案--------------------建议楼主把e的范围确定一下
判断一下当前e对象是属于交替项,还是编辑项,还是项
------解决方案--------------------主 题: 单击时把DataGrid中的某列的值通过Session传出去的问题
作 者: byhum (相见不如怀念) Blog
等 级:
信 誉 值: 100
所属社区: .NET技术 ASP.NET
问题点数: 20
回复次数: 12
发表时间: 2007-1-6 9:01:38
我用下面的方法在用户单击DataGrid的时候打开一个新页:
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add ( "onclick ", "window.open( 'yl.aspx?ID= "+e.Item.Cells [0].Text + " ') ");
}
现在我不希望通过url来传值了,我想通过Session来完成:
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add ( "onclick ", "window.open( 'yl.aspx? ') ");
Session[ "LoginName "]=e.Item.Cells [0].Text;
}
可是我在另一页接收的时候,发现Session[ "LoginName "]是一个空格符 ,请问这是怎么回事?
=========================================================
把Session[ "LoginName "]=e.Item.Cells [0].Text; 这行代码从ItemDataBound事件中拿出来
放到 command 事件中
没用过datagrid 就用过gridview 见笑了
绑定数据的时候循环执行 那样在循环给session[ "LoginName "]赋值 当然不是你需要的 防到 command 事件中 在点击后 把当前行的 loginName 的值再赋给session