我按照Atlas: Creating a Confirmation Using the ModalPopup Extender中的示例在单击ModalPopup中的OkButton时进行回发(它使用ASP.NET Ajax控件工具包中提供的ModalPopupExtender ),但正如我所看到的,Sys.WebForms.PostBackAction()不再出现在ASP.NET AJAX中(该示例用于Atlas)。当我运行它时,在我创建JScript的javascript代码行中,出现了"Microsoft PostBackAction runtime error: Object expected“错误消息。我如何在ASP.NET AJAX中实现这一点,或者,也许还有其他方法可以做到这一点?谢谢
发布于 2009-04-30 22:00:56
你有没有想过使用ConfirmButtonExtender?您通过扩展器获得了模态“闪闪发光”,然后就拥有了所需的PostBack处理。
按正常方式连接按钮单击事件以进行处理,但确认扩展器将“拦截”处理,并允许在用户确认操作时继续执行操作。
发布于 2009-05-22 17:11:21
服务器端事件确实适用于ModalPopupExtender。您需要做的是创建一个显示样式设置为none的按钮。然后将ModalPopupExtender的TargetControlID属性设置为隐藏的按钮ID。
<asp:Button ID="btnShowModal" runat="server" Text="Show" OnClick="btnShowModal_Click" />
<asp:Button ID="btnHidden" runat="server" Style="display: none" />
<ajaxControlToolkit:ModalPopupExtender ID="modalExtender" runat="server"
TargetControlID="btnHidden" PopupControlID="divId" />
在OnClick处理程序中显示模式:
modalExtender.Show();
在将关闭模式(通常是一个按钮)的控件的处理程序中,隐藏模式:
modalExtender.Hide();
我能够成功地使用此方法回发到服务器,以便在回发期间使用数据库中的信息填充我的模式中的控件。工作起来像个冠军。
发布于 2009-04-30 21:45:51
如果我没记错ModalPopupExtender,它有一个您设置为按钮ID的OKControlID。
你能不能把你的按钮分配给调用回发的"onclick“客户端处理程序?
例如,如下所示:
myModalPopupExtender.OkButtonID = myOKButton.ID;
string script = ClientScriptManager.GetPostBackEventReference(myOKButton, myOKButton.ID);
myOKButton.Attributes.Add("onclick", script);
编辑:它看起来像another potential solution here.
https://stackoverflow.com/questions/809222
复制相似问题