回发后,Asp.net数据绑定丢失了

时间:2009-05-06 06:02:47

标签: .net asp.net data-binding

大家好,我有以下问题让我疯狂。

执行任何类型的回发后,几个控件不会自行重新绑定,例如

带有附加ObjectDataSource的DetailsView(在我的例子中是ObjectContainerDataSource) LoginView没有显示LoggedInTemplate,但LoginStatus显示我已登录。

我几乎绝望了,我想知道你过去是否有同样的问题或类似问题,可以给我一些提示。

提前致谢

3 个答案:

答案 0 :(得分:2)

如果在Page_Load方法中执行绑定,请确保它在if not backback循环中。

if (!IsPostBack)
    {
        //Your code to bind data
    }

每次回发后,都会触发页面加载事件。因此,如果没有使控件在上面给定的循环中绑定,则每次发生回发时都会发生绑定。

答案 1 :(得分:1)

如果没有看到任何实际代码,我建议您查看页面和各个控件的EnableViewState设置。

这是一篇关于managing viewstate的好文章。

您还应该在page_load()

中的类似部分中查找代码
if(!IsPostback)
{
    // code to bind some of your controls
} 

该代码仅在您第一次进入页面时调用,而不是在回发中调用。如果您离开页面并返回,那么绑定代码将再次运行。

答案 2 :(得分:0)

您的数据绑定是否发生在page_load事件中?如果没有,是否在重新加载页面时重新绑定?

您的控件是否动态加载?