【问题标题】:Gridview Cannot get value controlGridview 无法获取值控制
【发布时间】:2014-01-28 00:24:12
【问题描述】:

如果在我的网格视图上选中复选框,我想获取隐藏字段的值

我的网格视图:

<asp:GridView ID="gv_enfant" runat="server" AutoGenerateColumns="False" BackColor="White"
        BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataSourceID="SqlDataSource1"
        Width="533px">
        <Columns>
            <asp:TemplateField HeaderText="Select">
                <ItemTemplate>
                    <asp:CheckBox ID="CheckBoxenfant" runat="server"  />
                    <asp:HiddenField ID="codeenfant" runat="server" Value='<%# Eval("codeEnfants") %>' />
                </ItemTemplate>
               ..............
</asp:GridView>

这是我如何循环遍历行并检查:

string myid = string.Empty; 
for (int i = 0; i < gv_enfant.Rows.Count; i++) 
{ 
    CheckBox chbox = (CheckBox)gv_enfant.Rows[i].Cells[0].FindControl("CheckBoxenfant"); 
    if (chbox.Checked) 
    { 
        myid = ((HiddenField)gv_enfant.Rows[i].Cells[0].FindControl("codeenfant")).Value; 
    } 
}

我在条件上放了一个断点,调试器从来没有碰到那行

【问题讨论】:

  • 您在哪里(在页面生命周期的哪个点)运行此代码?
  • @Andrei 在 buttonClick 事件中,我运行代码
  • 您是否在某个时间点强制执行 gridview 数据绑定?如果是,您能否也显示此代码?

标签: c# asp.net gridview


【解决方案1】:

并非所有行都有控件(例如页眉和页脚行)。我会这样尝试:

string myid = string.Empty; 
for (int i = 0; i < gv_enfant.Rows.Count; i++) 
{ 
    var chbox = gv_enfant.Rows[i].Cells[0].FindControl("CheckBoxenfant") as CheckBox; 
    var codeenfant = gv_enfant.Rows[i].Cells[0].FindControl("codeenfant") as HiddenField
    if(chbox != null && codeenfant  != null)
    { 
        if (chbox.Checked) 
        { 
            myid = codeenfant.Value; 
        } 
    }
}

【讨论】:

【解决方案2】:

你可以这样做:

string myid = string.Empty;
foreach (GridViewRow row in gvShows.Rows)
{
    CheckBox chk = row.Cells[0].FindControl("CheckBoxenfant") as CheckBox;
    if (chk != null && chk.Checked)
    {
        myid = ((HiddenField)row.Cells[0].FindControl("codeenfant")).Value;
    }
}

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多