Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在updatepanel外部重新填充下拉列表_Asp.net_Gridview_Drop Down Menu_Updatepanel - Fatal编程技术网

Asp.net 在updatepanel外部重新填充下拉列表

Asp.net 在updatepanel外部重新填充下拉列表,asp.net,gridview,drop-down-menu,updatepanel,Asp.net,Gridview,Drop Down Menu,Updatepanel,可能这是对异步回发的一种无知,所以让我在那里高举一个垒球 我在updatepanel中有三个级联下拉列表,使用它们你可以选择你的商店->部门->产品。第四个DDL位于updatepanel之外,使用它您可以选择您的竞争对手。不同的商店与不同的竞争者竞争。然后,一个gridview(也在外部)显示商店->部门->产品->竞争对手价格的连接 当您第一次加载时,如果您切换到具有相同竞争对手的其他商店,则此功能可以正常工作。但是,如果您将updatepanel DDL更改为不共享所选竞争对手的存储,并单

可能这是对异步回发的一种无知,所以让我在那里高举一个垒球

我在updatepanel中有三个级联下拉列表,使用它们你可以选择你的商店->部门->产品。第四个DDL位于updatepanel之外,使用它您可以选择您的竞争对手。不同的商店与不同的竞争者竞争。然后,一个gridview(也在外部)显示商店->部门->产品->竞争对手价格的连接

当您第一次加载时,如果您切换到具有相同竞争对手的其他商店,则此功能可以正常工作。但是,如果您将updatepanel DDL更改为不共享所选竞争对手的存储,并单击“显示”(导致回发),我将得到一个“无效回发或回调参数”。如果删除竞争对手DDL并对gridview的竞争对手进行硬编码,错误将消失,我可以随意导航


为什么第四个DDL不能在回发上重新填充?如何解决此问题?

原因是,在后一种情况下,如果您正在重新绑定Competitor DropDownlist,则列表项将在服务器上更改,但不会呈现给客户端,因为它不在任何updatepanel中,因此Competitor DropDownlist中包含旧值

当回发发生时,ASP.Net将无法理解这些旧值是如何产生的,并将抛出“无效回发或回调参数”错误


解决此问题的最佳方法是将您的dropdownlist(和gridview)放在updatepanel中。

请发布您的代码。如果没有您的实际实施,很难评论。