【问题标题】:Repopulating a dropdown outside an updatepanel在更新面板外重新填充下拉列表
【发布时间】:2011-12-20 01:48:06
【问题描述】:

这可能是对异步回发的无知,所以让我把垒球放在那里。

我在更新面板中有三个级联下拉菜单,您可以使用这些下拉菜单选择您的商店->部门->产品。第四个 DDL 位于更新面板之外,您可以使用它来选择您的竞争对手。不同的商店匹配不同的竞争对手。然后,一个网格视图(也在外部)显示 Store->Department->Product->Competor Price 的连接。

当您第一次加载时,如果您切换到具有相同竞争对手的不同商店,这可以正常工作。但是,如果您将更新面板 DDL 更改为不共享所选竞争对手的商店并单击“显示”(导致回发),我会收到“无效回发或回调参数”。如果我删除竞争对手 DDL 并对 gridview 的竞争对手进行硬编码,错误就会消失,我可以放弃导航。

为什么第四个 DDL 不会在回发时重新填充?我该如何解决这个问题?

【问题讨论】:

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

标签: asp.net gridview drop-down-menu updatepanel


【解决方案1】:

原因是在后一种情况下更改 Store->Department->Product 如果您重新绑定 Competitior DropDownlist,则 ListItems 将在服务器上更改但不会呈现给客户端,因为它不在任何更新面板中因此 Competitior DropDownlist 中包含旧值。

当 Postback 发生时,ASP.Net 将无法理解这些旧值是如何来的,并会抛出“Invalid Postback or Callback argument”错误。

解决此问题的最佳方法是将下拉列表(和网格视图)放在更新面板中。

【讨论】:

    猜你喜欢
    • 2011-10-09
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多