在代码隐藏中绑定GridView不起作用

时间:2012-05-17 10:08:36

标签: c# asp.net data-binding gridview

我有一个非常烦人的问题,我现在已经困扰了几个小时了。我在页面上有多个asp.net GridView控件。其中一个网格(网格B)依赖于另一个网格(网格a)来正确更新其数据。

我遇到的问题是:

当我在if(!IsPostback)中执行gridB.Databind()时,Grid B的功能正常工作,但网格不会使用网格A中新添加的记录进行更新。

当我在不包含回发检查的任何其他地方执行gridB.Databind()时,网格B中的数据会正确地更新网格A中新添加的记录,但网格B的功能不再有效。

示例:

            // Functionality for dropdownlist etc works correctly, but new data from gvA doesn't show in gvB
            if (grvSender.ID == "gvA")
            {
                if (!IsPostBack)
                    gvB.DataBind();
            }

            // Functionality for dropdownlist etc no longer works correctly, but new data from gvA shows correctly in gvB
            if (grvSender.ID == "gvA")
            {
                if (IsPostBack)
                    gvB.DataBind();
            }

我已经在人类已知的每个可能的位置调用了gvB的数据绑定方法,并且同样的问题仍然存在...修复问题A给我问题B并且修复问题B给了我问题A.

任何想法都会很棒。我可以看到这是一个荒谬可笑的东西,但我现在几乎整天盯着代码而且我没有想法。

1 个答案:

答案 0 :(得分:1)

您应该使用Page_PreRender事件代码,您也可以按照else编写代码。

        if (grvSender.ID == "gvA")
        {
            if (!IsPostBack)
                gvB.DataBind();
        }

        else
        {
            if (IsPostBack)
                gvB.DataBind();
        }