【问题标题】:Asp.net databindings losts after postback回发后 Asp.net 数据绑定丢失
【发布时间】:2010-10-24 02:46:16
【问题描述】:

大家好,我遇到了以下让我发疯的问题。

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

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

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

提前致谢

【问题讨论】:

    标签: .net asp.net data-binding


    【解决方案1】:

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

    这是managing viewstate上的一篇好文章。

    您还应该在 page_load() 中的类似部分中查找代码

    if(!IsPostback)
    {
        // code to bind some of your controls
    } 
    

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

    【讨论】:

      【解决方案2】:

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

      您的控件是动态加载的吗?

      【讨论】:

      • -1 是为了什么??好奇谁给了这个 -ve 投票并且没有留下任何评论。 (+1 来自我)
      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-14
        • 1970-01-01
        • 1970-01-01
        • 2011-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多