首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dropdownlist触发AJAX ModalPopup

dropdownlist触发AJAX ModalPopup
EN

Stack Overflow用户
提问于 2009-07-17 20:56:26
回答 2查看 2K关注 0票数 1

如果下拉列表中的"delete“项被选中,我想通过AJAX ModalPopup显示一个确认对话框。

如果单击了OK按钮(在确认对话框中),则应调用delete方法。

因为ModalPopup的OnOkScript属性需要JavaScript方法,所以显然没有直接调用服务器端方法的方法。

我该怎么办?

我是否应该将deleting方法放在一个隐藏按钮中,将它的引用传递给一个javascript函数( OnOkScript),然后通过__doPostBack调用它?

有没有更简单的方法?

EN

回答 2

Stack Overflow用户

发布于 2009-07-17 21:02:30

在您的OnOkScript javascript方法中,对服务器端页面执行AJAX POST以执行删除操作。

票数 0
EN

Stack Overflow用户

发布于 2009-10-23 04:57:05

您可以选择通过服务器端代码执行请求的所有操作。

将您的标记设置为类似的内容:

代码语言:javascript
复制
<asp:DropDownList
    AutoPostBack="true"
    OnSelectedIndexChanged="ConfirmDelete_SelectedIndexChanged"
    runat="server" />

<asp:LinkButton
    ID="btnNotInUse"
    runat="server" />

<asp:Panel
    ID="pnlPopup"
    style="display:none;"
    runat="server">
    This is your confirmation dialog.<br />
    <asp:Button ID="btnDelete" runat="server" />
</asp:Panel>

<ajaxToolkit:ModalPopupExtender
    ID="mpeModal"
    TargetControlID="btnNotInUse"
    PopupControlID="pnlPopup"
    runat="server" />

现在,当您的DropDownList发生更改时,您将触发服务器事件"ConfirmDelete_SelectedIndexChanged",如下所示:

代码语言:javascript
复制
protected void ConfirmDelete_SelectedIndexChanged(object sender, EventArgs e)
{
    if(/*some logic that states if "delete" is selected*/)
        mpeModal.Show();
}

实际上,当您更改下拉列表中的选择时,服务器会检查是否选择了"Delete“。如果是这样的话,你的模式弹出窗口现在会显示一个按钮,这个按钮实际上可以从你的数据源中删除,或者做你需要完成的任何事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1145649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档