0

我对更新面板有一些奇怪的问题。

我在我的一个应用程序中使用 Devexpress Controls、JQUERY AJAX。我使用了服务器端编码 + 客户端编码方法,即在一些存在 aspxgridview 的页面上使用 Jquery、JS 和 AJAX + 更新面板。

根据我遇到的问题,我正在通过示例情况创建一个场景:

1) 有一些用于egCounty、State 和City 的ASPxcomboBoxes。

2)在客户端选择的国家/地区索引更改时,我已通过 AJAX 获取数据并使用 JSON 绑定状态 ASPxComboBox 中的状态,并且对于状态的客户端索引更改的城市组合也是如此。

3)在城市组合的索引更改中,我已经绑定了一个带有一些相关数据的 ASPxGridView,并且 ASPxGridView 和城市组合被包装在更新面板中,因为我们无法通过 AJAX 绑定 ASPxGridView 以避免回发,我使用了更新面板并且它工作正常。

4)如果用户在提交点击时没有从网格中选择任何记录,那么它会提示用户选择任何一条记录,并且我已经在服务器端按钮的点击事件上保留了验证。

现在,问题是在提交和验证发生之后。该州的组合项目正在重复,例如初始项目是:--select--,美国,在提交验证后显示--select--,美国,--select--,美国。

我没有将页面加载事件上的控件绑定为通过客户端绑定的控件。EnableSynchronisation 的属性为 True 以同步 aspxComboBox 的客户端和服务器项。

当我点击提交时看到使用调试器。我在页面加载事件上快速观看了状态组合,其项目数为 4,因为 2 是重复项目。

问题甚至出现在页面 Load 事件的第一行,当我将 Watch 添加到其中时,我得到的项目计数为 4,这意味着项目被错误地发布到服务器。

当我删除更新面板时,一切正常。

我不知道为什么在服务器上发布了错误的项目/重复项目。请帮忙。

4

1 回答 1

0

解决了这个问题。

将更新面板包装到状态组合。

实际上不需要它,因为不需要通过服务器操作刷新状态组合,因为我使用 AJAX 在客户端上绑定它。

但是将更新面板包装到它确实解决了这个问题。

于 2013-02-27T10:34:02.667 回答