dreammaster

天行健,君子以自强不息;地势坤,君子以厚德载物

博客园 首页 新随笔 联系 订阅 管理
  4 随笔 :: 1 文章 :: 8 评论 :: 7985 阅读
        最近在使用asp.net2.0中发现GridView与DataGrid在数据访问上的区别相当大,对于DataGrid访问每一行中的数据项通常有两种方法:
<asp:BoundColumn DataField="ID" Visible="False"/>


//后台处理

int id = int.Parse(Grid1.Items[index].Cells[0].Text);

//或采用

int id = (int)((DataRowView)Grid1.Items[index].DataItem).Row["ID"]);

      对于GridView两种方法均不见效, Visible=Flase的列不再Render,所以客户端不可能访问,对于DataItem,除了RowDataBound几个事件中可以使用, ViewState中不在保存DataItem,因此,对于GridView如果想知道某一行的值,不可以将其设为Visile=false,如果确实不 想在界面中显示这一列的值,可以用DataKeyNames和DataKeys结合完成一些特别的数据访问.
<asp:GridView id="GridView1" Runat="Server" DataKeyNames="ObjectID">



</asp:GridView>

//代码中处理选中行的id

int id = int.Parse(GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString());

posted on   梦幻天涯  阅读(3354)  评论(4)    收藏  举报
编辑推荐:
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
阅读排行:
· 如果单表数据量大,只能考虑分库分表吗?
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
· (原创)[开源][.Net Framework 4.5] SimpleMVVM(极简MVVM框架)更
· 冲压车间软件实施
· 干货分享!MCP 实现原理,小白也能看懂
点击右上角即可分享
微信分享提示