也许这是对异步回发的忽视,所以让我在这里提出一个问题。
我在updatepanel中有三个级联下拉菜单,使用它们你可以选择你的Store->Department->Product。第四个DDL位于updatepanel之外,您可以使用它来选择您的竞争对手。不同的商店与不同的竞争对手相匹配。然后,一个网格视图(也在外部)显示Store->Department->Product->Competitor的连接。
当您第一次加载时,如果您切换到具有相同竞争对手的不同存储,则此方法工作得很好。但是,如果您将updatepanel DDL更改为不共享所选竞争对手的存储,并单击"Display“(导致回调),我会得到一个"Invalid Postback or callback argument”。如果我删除竞争对手的DDL并硬编码网格视图的竞争对手,错误就会消失,我就可以随意导航了。
为什么第四个DDL不会在回发时重新填充?如何解决此问题?
发布于 2011-12-20 17:00:35
原因是,在后一种情况下,更改商店->部门->产品,如果您正在重新绑定竞争对手DropDownlist,那么ListItems将在服务器上更改,但不会呈现给客户端,因为它不在任何更新面板中,因此竞争对手DropDownlist具有旧值。
当回发发生时,ASP.Net将无法理解这些旧值是如何产生的,并将抛出“无效回发或回调参数”错误。
解决这个问题的最好方法是将你的下拉列表(和网格视图)放在一个updatepanel中。
https://stackoverflow.com/questions/8569879
复制相似问题