加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 无法访问不可见时ASP Grid视图中的绑定列

发布时间:2020-12-16 07:21:04 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有BoundColumns的GridView.前两列是隐藏的,我想使用gridView1.Rows [0] .Cells [0] .Text和gridView1.Rows [0] .Cells [1] .Text分别访问它们,我得到一个空字符串.当列更改为可见时,我可以访问这些值. 我已经尝试将列宽更改为零,正如其他一些论坛
我有一个带有BoundColumns的GridView.前两列是隐藏的,我想使用gridView1.Rows [0] .Cells [0] .Text和gridView1.Rows [0] .Cells [1] .Text分别访问它们,我得到一个空字符串.当列更改为可见时,我可以访问这些值.
我已经尝试将列宽更改为零,正如其他一些论坛所建议的那样,但从未修复过这个问题.有没有人对我可能做错了什么有任何指示.

解决方法

如果Columns是DataKeyNames集合的一部分,那么您应该从GridView.DataKeys [index] .value属性中获取它们的值,如 GridViewGuy site所示.

但是,如果它们不是DataKeyNames集合的一部分,那么您可以使用以下hack来确保该值在ViewState中保持不变(与ASP.NET 2中隐藏字段的正常行为相反)

GridView1.DataSource = myDataSource;
// Set the column visibility to true before Databinding

GridView1.Columns[0].Visible = true;
GridView1.Columns[1].Visible = true;
GridView1.DataBind()

// Set the column visibility to false after Databinding
GridView1.Columns[0].Visible = false;
GridView1.Columns[1].Visible = false;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读