我已经设置了一个DataGrid,其中包含多个列,并在该行的末尾添加了复选框和列。DataGrid按钮 - 回发或回调无效
我也在更改OnItemCreated
事件上的数据网格布局,该事件通过使用“Rowspan”属性扩展行来更改数据网格的布局,并删除不再需要的额外列和控件。
原始数据网格布局是设置这样的:
___________________________________________
| 1 | Employee Name | 01/08/10 |[] |[SAVE]|
| 1 | Employee Name | 02/08/10 |[] |[SAVE]|
___________________________________________
| 2 | Employee Name | 01/08/10 |[] |[SAVE]|
___________________________________________
| 3 | Employee Name | 04/08/10 |[] |[SAVE]|
| 3 | Employee Name | 05/08/10 |[] |[SAVE]|
| 3 | Employee Name | 06/08/10 |[] |[SAVE]|
___________________________________________
| 4 | Employee Name | 03/08/10 |[] |[SAVE]|
___________________________________________
而现在它看起来像这样具有扩展行,去掉了控件和数据网格列删除...
___________________________________________
| 1 | Employee Name | 01/08/10 |[] |[SAVE]|
| | | 02/08/10 | | |
___________________________________________
| 2 | Employee Name | 01/08/10 |[] |[SAVE]|
___________________________________________
| 3 | Employee Name | 04/08/10 |[] |[SAVE]|
| | | 05/08/10 | | |
| | | 06/08/10 | | |
___________________________________________
| 4 | Employee Name | 03/08/10 |[] |[SAVE]|
___________________________________________
的页面在打开时显示,并且每次用户单击页码时,页面控件都按预期工作。
但是,当我点击特定员工的[SAVE]按钮时,错误消息显示类似“无效回传或回叫”的消息。我知道这是我在数据网格中删除的控件和列的结果,而事件验证与原始渲染项目不匹配。
我不想删除EnableEventValidation,因为这是一个安全问题。
我知道我必须使用Render方法来修复在页面显示之前所做的任何更改,但是如何解决此回发问题?
嗨Aristos, 是的,我有一个更新面板中的数据网格,现在已禁用EnableViewState。该按钮现在可以正常工作,并且可以按预期方式读取复选框的值。 但是,无论我处于哪个页面,页面编号都会重置回第1页。如果我现在无法从数据网格中检索视图状态的值,我该如何获取页码? 谢谢。 – 2010-08-08 22:49:08
@laughing无法保持页面与读取数据的地方有关 - 您要执行Bind()并在datagrid上设置数据。你在寻呼机之后有地方,所以失去它。改变你在datagrid上设置数据的点,例如在pageinit上移动它并检查它。这可能是一开始就存在的问题。 – Aristos 2010-08-09 05:34:57
我改变了重新绑定数据的位置,并且数据网格按预期工作。 – 2010-08-10 03:21:45