asp.net 对GridView控件DataKeyName属性的一点认识

页面前台有以下代码:
  <asp:GridView ID="View1" Width="100%" runat="server" AutoGenerateColumns="False" CellPadding="3" OnRowDataBound="View1_RowDataBound" CssClass="GbText" DataKeyNames="SubjectID,Mode" CellSpacing="1">
  
  后台有以下代码:
  protected void View1_RowDataBound(object sender,GridViewRowEventArgs e)
  {
   if(View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString().ToLower() == "false")
   {
   ......
   }
  }
  
  说明:
  由于为GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),因此可以在为GridView绑定数据时对库表的每个记录的指定字段值作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode)的值。若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。
  同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。
  
  总之,为GridView的DataKeyNames属性设置库表字段名的主要目的还是为了在为GridView控件绑定数据时获取当前行指定字段的值,以便作相应处理。若无此需求的话则GridView的DataKeyNames属性就可以不设置。

转载于:https://www.cnblogs.com/zhounengbin/archive/2007/11/19/964593.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值