【问题标题】:Datagrid CheckBox Column Not able to Access the CheckBox ValueDatagrid CheckBox 列无法访问 CheckBox 值
【发布时间】:2011-06-23 17:57:49
【问题描述】:

出于某种原因,即使我在 datagrid (asp.net) 控件中选中我的复选框并单击链接按钮,但是当我读取复选框值时。它说未经检查。

  <asp:TemplateColumn HeaderText="Selection">
            <ItemTemplate>
            <asp:CheckBox id="chkSelect" runat="server" />
            </ItemTemplate>            
            </asp:TemplateColumn>     

     For Each dgi As DataGridItem In dgReceipts.Items

                Dim isChecked As Boolean = TryCast(dgi.FindControl("chkSelect"), CheckBox).Checked

    next 

更新1:

我还尝试访问文本框列的值和相同的问题。该值是空白的。

【问题讨论】:

  • 您正在重新绑定 init 或 load。
  • 我检查了我没有绑定 init 或 load。
  • 请添加更多代码。您没有提供足够的信息来诊断问题。

标签: asp.net datagrid


【解决方案1】:

你是如何绑定你的 GridView 的?如果页面没有回发,您是否仅具有约束力?如果您正在绑定,例如,在 Page Load 事件中并且不检查回发,回发将吹走您的选择。如果没有查看更多代码,很难确定确切原因,但通常不检查绑定中的回发是此类问题的根本原因。

【讨论】:

  • 我没有在 page_load 中绑定。用户单击搜索按钮,然后显示网格。之后,用户检查复选框并按下另一个触发点击事件的链接按钮。在那里我尝试访问选中的复选框和文本框值,它返回默认值,如 false 和 String.empty
【解决方案2】:

您要么有多行带有复选框,并且其中一个看到错误,要么正在重新绑定网格。您将不得不添加更多代码来确认。

【讨论】:

  • 即使选中所有复选框也会发生这种情况。我错了!
猜你喜欢
  • 1970-01-01
  • 2011-01-26
  • 2019-02-14
  • 1970-01-01
  • 2012-06-12
  • 2017-02-03
  • 1970-01-01
  • 2016-06-27
  • 2018-01-13
相关资源
最近更新 更多