在am ajax Tab中引用控件

时间:2012-09-03 08:18:59

标签: c# asp.net ajax gridview

我有一个ajax标签,里面有一个网格,在这个网格上有一个复选框,用户可以检查它并将其分配给技术人员,但由于某种原因我无法引用控件, grid总共有4行,所以那里有数据,这是我的代码,点击按钮运行

protected void btnAllocate_click(object sender, EventArgs e)
        {
            foreach (System.Web.UI.Control s in tbHappyCall.Controls)
            {
               foreach (GridViewRow Row in gvHappyCall.Rows)
                {
                    CheckBox chkAllocate = (CheckBox)Row.FindControl("chkAllocate");

                    if (chkAllocate.Checked)
                    {
                        HyperLink lblOrderID = (HyperLink)Row.FindControl("hyperOrderID");

                        HappyCallManager objHappyCallManager = new HappyCallManager();

                        objHappyCallManager.HappyCallAllocated(Convert.ToInt64(lblOrderID.Text), objWebuser.ShortAbbr, ddlAllocateTo.SelectedValue);

                        //Update database with person details thats are assigned to the Welcome Call

                    }
                }
            }
        }

protected void btnAllocate_click(object sender, EventArgs e) { foreach (System.Web.UI.Control s in tbHappyCall.Controls) { foreach (GridViewRow Row in gvHappyCall.Rows) { CheckBox chkAllocate = (CheckBox)Row.FindControl("chkAllocate"); if (chkAllocate.Checked) { HyperLink lblOrderID = (HyperLink)Row.FindControl("hyperOrderID"); HappyCallManager objHappyCallManager = new HappyCallManager(); objHappyCallManager.HappyCallAllocated(Convert.ToInt64(lblOrderID.Text), objWebuser.ShortAbbr, ddlAllocateTo.SelectedValue); //Update database with person details thats are assigned to the Welcome Call } } } }

当它继续到Foreach gridviewrow等时,即使有4行显示信息,计数也是1?

任何人都可以对此有所了解吗?甚至更好的解决方案?

感谢您的时间。

更新

1 个答案:

答案 0 :(得分:0)

为了澄清:您不需要迭代TabPanel的控件集来查找GridView,它可以直接使用,也不要将Controls.Count与数字混淆GridView.Rows.Count

ViewState是否在某处禁用?

编辑:我看到GridView的ViewState已被禁用。我认为启用它时它会起作用。