使用LINQ时,关于RowDataBound的问题

cmxstudio 2008-09-05 05:45:10
以前用DataTable做表格的数据源的时候,可以用下面的方法来获得ID数据

//鼠标点击行,弹出ID值
protected void gvList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItemIndex > -1)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
e.Row.Attributes.Add("onclick", "alert('" + drv["ID"].ToString() + "');");
}
}

可是用了LINQ以后,就不能用(DataRowView)e.Row.DataItem了,对于单表查询的对象来说,
我还是可以用如(e.Row.DataItem as Employee).ID来获得ID,因为每一行就是一个Employee对象,
但是对于多表联合查询的数据来说,就不知道如何来获得ID
例如:

var empls=from e in DB.Employee
from p in DB.Positon
where e.PosiID=P.PosiID
select new {e.ID, p.PosiName};

对于这样的数据行,该如何在行绑定的时候获得ID?难道只能用隐藏的行吗?如用要用到多个数据的话隐藏的行不是太烦了么?
...全文
56 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
strayflower 2008-10-09
  • 打赏
  • 举报
回复
遇上了同样的问题,对e.Row.DataItem下的数据无法读取

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧