我有一个非常烦人的问题,我现在已经困扰了几个小时了。我在页面上有多个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.
任何想法都会很棒。我可以看到这是一个荒谬可笑的东西,但我现在几乎整天盯着代码而且我没有想法。
答案 0 :(得分:1)
您应该使用Page_PreRender
事件代码,您也可以按照else
编写代码。
if (grvSender.ID == "gvA")
{
if (!IsPostBack)
gvB.DataBind();
}
else
{
if (IsPostBack)
gvB.DataBind();
}