【问题标题】:ASP.Net Repeater, ItemCommand and UpdatePanel IssueASP.Net 中继器、ItemCommand 和 UpdatePanel 问题
【发布时间】:2014-04-09 10:53:10
【问题描述】:

我有一个UpdatePanel,里面是一个Repeater,Repeater 有一个OnItemCommand 函数。在Repeater 的ItemTemplate 内部是一个LinkBut​​ton。 UpdatePanel 中的其他按钮运行正常,但中继器按钮会导致回发。

我发现我需要根据此处问题的答案将它们注册为异步回发控件:How do I have my repeater's Itemcommand event not do a full page postback?

这可行但不完全。例如,当单击按钮时,它应该获取按钮的 CommandArgument 以获取 ID、检索记录、相应地设置隐藏字段和文本框文本并打开显示此文本框的 ModalPopupExtender。

我在 click 函数的每一行代码中都设置了断点,它获取命令参数 ok,加载记录 ok,并设置 hiddenfield 值和文本 ok。完成后,MPE 按预期打开,但 TextBox 和 HiddenField 值为空白??

关于为什么尽管显示它背后的代码应该设置这些页面未正确更新的原因有什么想法吗?

【问题讨论】:

  • 显示一些代码以便更好地理解(.aspx 和后面的代码)
  • 这只是一个非常大的屏幕的一部分,因此很难包含代码,如果您想要特定的内容,我可以添加它并删除不必要的代码。事实是我的代码有效,只是文本框文本和 Hiddenfield 值在单击按钮后不会改变屏幕上的状态。

标签: c# asp.net updatepanel repeater


【解决方案1】:

听起来弹出窗口不包含更新面板,因此值在代码隐藏(服务器)中更新,而不是在客户端上。但如前所述,代码示例将澄清。

【讨论】:

    【解决方案2】:

    原来我必须手动更新 UpdatePanel,即

    updatePanelID.Update();
    

    然后按预期填充文本框/隐藏字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      相关资源
      最近更新 更多