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
C# dropdownlist触发的AJAX ModalPopup_C#_Asp.net_Javascript_Ajax - Fatal编程技术网

C# dropdownlist触发的AJAX ModalPopup

C# dropdownlist触发的AJAX ModalPopup,c#,asp.net,javascript,ajax,C#,Asp.net,Javascript,Ajax,如果选择了dropdownlist中的“delete”项,我想通过AJAX ModalPopup显示一个确认对话框 如果单击OK按钮(在确认对话框内),则应调用delete方法 因为modalpopp的OnOkScript属性需要一个JavaScript方法,所以显然没有直接的方法来调用服务器端方法 我该怎么办 我是否应该将deleting方法放在一个隐藏按钮中,将其引用传递给javascript函数(OnOkScript),然后通过uu doPostBack调用它 有更简单的方法吗?在OnOk

如果选择了dropdownlist中的“delete”项,我想通过AJAX ModalPopup显示一个确认对话框

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

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

我该怎么办

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


有更简单的方法吗?

在OnOkScript javascript方法中,向服务器端页面发送AJAX帖子以执行删除操作。

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

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

<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" />

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

您能更具体一些吗?
protected void ConfirmDelete_SelectedIndexChanged(object sender, EventArgs e)
{
    if(/*some logic that states if "delete" is selected*/)
        mpeModal.Show();
}