我正在修改一个非常复杂的表格。此表单有多个子表单。最初的化身是创建所有这些隐藏的面板等等(不是我的设计,我正在尝试修复)。
我最终得到的是一个 FormView,其中编辑模式由一个典型的表单组成,并且有一个子表单。现在,子窗体在 ReadOnly 模式下显示一个 GridView,它与回调编辑方法相关联,该方法会将子窗体的索引更改为正确的索引并将其更改为编辑模式。这些的所有数据都通过SqlDataObjects。
为了简化过程,我将子窗体放入用户控件中,并将用户控件包含在主窗体的 Edit 和 ReadOnly 部分中。因此,当主窗体为 ReadOnly 时,它会在默认模式下显示用户控件,即 ReadOnly 从而显示网格。这部分工作得很好。
当用户在编辑模式下打开主窗体时,子窗体会按预期以网格模式显示(并且网格中包含编辑按钮的列呈现可见)。这也很好。
当我单击编辑按钮并将表单更改为编辑模式时,一切都按预期工作。我可以看到通过主窗体到子窗体的流程(通过调试)正在按预期进行。
现在,当我单击更新按钮时,它只是一个设置了 CommandName 的简单 LinkButton(就像其他有效的表单视图一样)我注意到回调转到子表单(跳过主表单的数据绑定——这也是期望),但更新调用永远不会呈现给 SqlDataObject。
我的每个 SqlDataObjects 都有一个 OnUpdating/OnInserting/OnSelecting 仅用于调试目的,它从未被命中。回发后,用户控件直接进入只读模式。我认为这不是 DataBinding 问题。
有人用嵌套表单控件看到过这个吗?具体来说,包含嵌套在 FormView 中的 FormView 的用户控件?
我不会放弃整个 UserControl 并将子窗体直接放在主窗体中,但我宁愿知道正确的解决方案,直到它工作为止......