【问题标题】:Code thinks Datagrid footer textbox is empty代码认为 Datagrid 页脚文本框为空
【发布时间】:2010-10-18 03:40:55
【问题描述】:

我正在开发一个 .net (C#) Web 应用程序。

最近我遇到了一个缺陷,即当两个用户同时登录到应用程序时,如果不刷新页面,他们都无法更新值。当我查看这个问题时,我发现代码的作者使用了静态数据集。我将数据集更改为非静态的,一切正常。

但是,这个问题跨越了应用程序中的许多页面,我必须在任何地方修复它。在其中一些页面上,应用程序使用数据集将数据绑定到数据网格。数据网格填充了数据集中的信息,页脚包含一些文本框和一个添加按钮以添加额外的行。这是问题的开始:

当页面使用静态数据集并且用户尝试通过界面添加一行时,一切正常。但是,当我将其更改为使用非静态的数据集(每次加载页面时都会加载它们)并且用户尝试添加一行时,代码认为文本框是空的(即使我可以看到在调试时发现我输入的文本)和空字段验证失败并显示一条消息。

谁能告诉我为什么会发生这种情况?为什么当数据集是静态的(数据集从不填充脚行)时它会看到文本,而当它不是静态时却看不到文本?一些见解会很棒!

提前致谢!

【问题讨论】:

    标签: c# asp.net datagrid


    【解决方案1】:

    原来网格的绑定方式存在问题。

    在实例化数据集时发生绑定。这意味着每次页面加载时都会再次发生绑定并导致文本为空白。考虑到 item 命令看起来像是在页面加载之前执行的,这很奇怪,但是 datagrid 无论如何都不喜欢它。我移动了绑定发生的位置,以便它只在页面加载时发生一次(当然,它在将某些内容添加到网格时发生)。

    这似乎成功了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 2011-10-30
      • 2013-07-27
      相关资源
      最近更新 更多