Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 代码认为Datagrid页脚文本框为空_C#_Asp.net_Datagrid - Fatal编程技术网

C# 代码认为Datagrid页脚文本框为空

C# 代码认为Datagrid页脚文本框为空,c#,asp.net,datagrid,C#,Asp.net,Datagrid,我正在开发一个.net(C#)web应用程序 最近我遇到了一个缺陷,即当两个用户同时登录到应用程序时,如果没有一个用户刷新页面,他们都无法更新值。当我研究这个问题时,我发现代码的作者使用了静态数据集。我把数据集改成非静态的,一切都很好 然而,这个问题跨越了应用程序中的许多页面,我必须在任何地方修复它。在其中一些页面上,应用程序使用数据集将数据绑定到数据网格。数据网格由数据集中的信息填充,页脚包含一些文本框和添加额外行的add按钮。问题从这里开始: 当页面使用静态数据集且用户试图通过界面添加行时,

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

最近我遇到了一个缺陷,即当两个用户同时登录到应用程序时,如果没有一个用户刷新页面,他们都无法更新值。当我研究这个问题时,我发现代码的作者使用了静态数据集。我把数据集改成非静态的,一切都很好

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

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

有人能告诉我这到底是为什么吗?为什么当数据集是静态的(数据集从不填充脚行)时它会看到文本,而当它不是静态的时它不会看到文本?一些洞察力将是可怕的


提前谢谢

结果发现网格绑定方式存在问题

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

这似乎奏效了