【问题标题】:Can't find control(checkbox) in GridView EditTemplate via RowEditing通过 RowEditing 在 GridView EditTemplate 中找不到控件(复选框)
【发布时间】:2013-11-25 05:17:30
【问题描述】:

我有一个 GridView

<EditItemTemplate>
 <asp:CheckBox ID="CheckBox" runat="server" AutoPostBack="True" 
  oncheckedchanged="CheckBox_CheckedChanged" />
   </EditItemTemplate>

结果总是一样的,返回一个NULL。我的问题是找不到控制端插入可见列真/假。

【问题讨论】:

  • 请用您已经尝试过的代码更新问题
  • 什么时候想获得价值?
  • 您是在哪里以及如何找到您的复选框的?

标签: c# asp.net gridview


【解决方案1】:
protected void grdPractices_OnRowEditing(object sender, GridViewEditEventArgs e)
{
  this.grdPractices.EditIndex = e.NewEditIndex;
  var vCheckBox = this.grdPractices.Rows[e.NewEditIndex].Controls[0].FindControl("chkSites") as CheckBox;
  if (vCheckBox == null)
  {
     return;
  }
}

更新

在 OnRowEditing 事件中,您可以获取要编辑的行的 gridview 的索引。然后使用索引,您可以找到控制复选框。验证复选框变量是否为空。

【讨论】:

  • 请描述一下你的答案,它将如何解决用户的问题以及此代码的功能是什么。
  • 在 OnRowEditing 事件中,您可以获得要编辑的行的 gridview 的索引。然后使用索引,您可以找到控制复选框。验证复选框变量是否为空并执行任何操作 ..:)
【解决方案2】:
var chk = (CheckBox)(e.item.FindControl("CheckBox"))

此代码将返回您的复选框控件。

【讨论】:

  • 问题被标记为 C#
【解决方案3】:

在 PostBack 上可以这样获取:

  protected void CheckBox_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox chkbox = (CheckBox)sender;

            //now its available for you
        }

在 RowCommand 上得到它(假设你的命令按钮是 LinkBut​​on):

protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
 GridViewRow grd = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
 int rowindex = grd.RowIndex;
 CheckBox chkbox = (CheckBox)grd.Rows[rowindex].FindControl("checkboxId"); 
// do whatever
}

【讨论】:

    【解决方案4】:
     protected void GridView1_OnRowEditing(object sender, GridViewEditEventArgs e)
           {
            GridViewRow row = GridView1.Rows[e.NewEditIndex];
            bool IsChecked = ((CheckBox)(row.Cells[0].FindControl("chkbox"))).Checked;
           }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多