<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:Label ID="LblGoodsID" runat="server" Text='<%# bind("cGoodsID") %>'></asp:Label>
</ItemTemplate>
 </asp:TemplateField>
<asp:BoundField DataField="cGoodsID" Visible="False" />


    protected void OnUpdate(object sender, EventArgs e)
    {
        GridViewRow t = (GridViewRow)(((ImageButton)sender).Parent.Parent);
        Label LblGoodsID = (Label)t.FindControl("LblGoodsID");
        Response.Write(LblGoodsID.Text);
        Response.Write(t.Cells[1].Text);
    }

同是Visible="False"第一个可以打印出来.第二个则没有被打印出来
 

如果要在GridView 控件中隐藏不必要的列,使用visible="false"后 你就无法取得这列的值了.

解决问题的方法很简单:

--------------------------------------------------
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //隐藏不必要的列
            if ((e.Row.RowType == DataControlRowType.DataRow) || (e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.Footer))
            {
                e.Row.Cells[0].Visible=false;
                e.Row.Cells[3].Visible=false;
           
            }

}

相关文章:

  • 2021-07-01
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
  • 2022-01-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-21
  • 2022-12-23
  • 2021-06-19
相关资源
相似解决方案