设置GridView的DataKeyNames属性。

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" >

<asp:BoundField DataField="ID" Visible="false" />

 </asp:GridView>


若是在.cs文件中的话,设置DataKeyNames必须在DataBind()之前。

GridView1.DataKeyNames = new string[] { "ID" };

//设置数据源

//GridView1.DataSource = new DataTable();

GridView1.DataBind();
 

将某列的Visible属性设置为false以后,如果直接使用下面这样的代码,获取不到该列的值。

string s = GridView1.SelectedRow.Cells[0].Text;

据说是因为设置为false以后,GridView不对其进行数据绑定,有待查证。

那么,将该列设置为DataKeyNames的话,则可以通过下面这样的代码来获取。

object o = GridView1.SelectedDataKey["ID"];
 

因为个人不喜欢在C#代码里边控制CSS,也不喜欢在Row事件绑定中去设置Cell的Visible属性,所以选择了此方法。

相关文章:

  • 2021-12-29
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2021-12-10
  • 2022-12-23
  • 2021-09-04
猜你喜欢
  • 2021-12-17
  • 2022-12-23
  • 2021-09-19
  • 2021-09-06
  • 2021-07-10
  • 2021-06-10
相关资源
相似解决方案