【发布时间】:2011-03-26 03:20:46
【问题描述】:
我已经设置了一个 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]|
___________________________________________
页面在打开时显示,并且每次用户单击页码时分页控件都会按预期工作。
但是,当我单击特定员工的 [保存] 按钮时,错误消息会显示类似“无效回发或回叫”的消息。我知道这是我在数据网格中删除的控件和列的结果,并且事件验证与原始呈现的项目不匹配。
我不想删除 EnableEventValidation,因为它是一个安全问题。
我知道我必须使用 Render 方法来修复我在页面显示之前所做的任何更改,但是如何解决这个回发问题?
【问题讨论】:
标签: asp.net datagrid button postback render