【问题标题】:How can controls (buttons) be set in a ModalPopup Extender panel that do NOT close the panel?如何在不关闭面板的 ModalPopup Extender 面板中设置控件(按钮)?
【发布时间】:2009-04-21 16:43:30
【问题描述】:

情况是这样的。

当用户编辑给定的数据时,他们可以添加消息/cmets。这些作为子记录存储在 SQL 数据库中。单击 Add Message 按钮会弹出一个面板 (pnlMessage),该面板由 AJAX ModalPopup Extender 提供。这需要一些输入,当单击面板中的“发送消息”按钮时(我学会了不设置“OkButton”属性的艰难方法),消息存储在数据库中,并且电子邮件被发送到预期收件人。没问题。

但是,我需要能够允许用户添加新的电子邮件地址(只要它们已在我们的数据库中注册)。我有另一个 ModalPopup / 面板组合 (pnlSearch),它与前一个面板 (pnlMessage) 上的按钮绑定。

用户应该能够添加电子邮件或单击搜索按钮以填充列表以供选择。

弹出式面板 (pnlSearch) 正常显示,但单击“查找”按钮(启动搜索并返回用户应该从中选择的记录集合)关闭面板。

以前,当我将 Button 放入“OkControlID”属性时,我遇到了 Button.Click 事件永远不会触发的问题(CancelControlID 工作正常,因为我不想做任何事情)。删除“OkControlID=Button”行使其能够完美地与 Button.Click 事件按预期触发。

所以现在我有一个带有“确定”按钮和一个“搜索”按钮的搜索面板 - 但在 Search.Click 完成之后,面板应该保持不变并可见。我是否缺少一些基本上说“单击此按钮时不要关闭面板”的属性?当然,如果我在同一个会话中再次调出面板,之前的工作结果(搜索结果)就在那里。

我试图避免使用 javascript,因为没有太多(如果有的话)经验可以支持这一点。

救命!

提前致谢。

【问题讨论】:

    标签: asp.net vb.net ajaxcontroltoolkit modalpopupextender


    【解决方案1】:

    您可以将搜索面板和搜索按钮放在更新面板中。 UpdatePanel 内的任何内容都可以在不关闭弹出窗口的情况下发回。确保不要将应该关闭弹出窗口的按钮放在 UpdatePanel 内。

    【讨论】:

    • 所以我基本上会将 ModalPopupExtender 定位到 UpdatePanel 而不是“常规”面板?听起来好得难以置信(容易) :) 但是,我没有很多 asp.net 经验,所以我不了解所有的 webforms 控件 - 当然不如我知道 winforms 控件.谢谢!
    • 不幸的是,“选择我并继续”按钮需要在搜索面板上(这样可以保证在面板出现时不会被遮挡)并且似乎没有办法从 button.click 事件中关闭 UpdatePanel(搜索)。
    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    相关资源
    最近更新 更多