如果下拉列表中的"delete“项被选中,我想通过AJAX ModalPopup显示一个确认对话框。
如果单击了OK按钮(在确认对话框中),则应调用delete方法。
因为ModalPopup的OnOkScript属性需要JavaScript方法,所以显然没有直接调用服务器端方法的方法。
我该怎么办?
我是否应该将deleting方法放在一个隐藏按钮中,将它的引用传递给一个javascript函数( OnOkScript),然后通过__doPostBack调用它?
有没有更简单的方法?
发布于 2009-07-17 21:02:30
在您的OnOkScript javascript方法中,对服务器端页面执行AJAX POST以执行删除操作。
发布于 2009-10-23 04:57:05
您可以选择通过服务器端代码执行请求的所有操作。
将您的标记设置为类似的内容:
<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",如下所示:
protected void ConfirmDelete_SelectedIndexChanged(object sender, EventArgs e)
{
if(/*some logic that states if "delete" is selected*/)
mpeModal.Show();
}实际上,当您更改下拉列表中的选择时,服务器会检查是否选择了"Delete“。如果是这样的话,你的模式弹出窗口现在会显示一个按钮,这个按钮实际上可以从你的数据源中删除,或者做你需要完成的任何事情。
https://stackoverflow.com/questions/1145649
复制相似问题