ASP.NET对话框建议

时间:2011-11-29 20:24:26

标签: c# javascript jquery asp.net jquery-ui

我一直在研究ASP.NET中对话框的使用。基于Web的应用程序似乎与我在Windows应用程序中使用的对话框大不相同。

我有一个带有自己的提交按钮和代码的ASP.NET表单。在该提交按钮的事件处理程序中,在其他代码中,我想要一个模态对话框来询问用户其他信息并返回执行提交按钮代码的其余部分。问题是如何做到这一点。

JQueryUI Dialog Modal Form是我看过的一个选项。我只是想知道如何在对话框消失后继续执行ASP.NET表单的提交按钮代码。另外,我必须考虑服务器端/客户端编码之间的区别。

非常感谢任何想法/建议。

注意:我正在使用VS2003和.Net 1.1进行编码

2 个答案:

答案 0 :(得分:3)

请参阅下面关联问题的答案,我对asp:button使用隐藏的callback

ASP.NET with jQuery popup dialog: how to post back on dialog closing

<强>标记:

<span onclick='showjQueryUIDialogOkBtnCallback("<%= btnHidden.ClientID%>","<%= yourModalDialog.ClientID%>", "OK", true, 600,600)'>show dialog</span>

<div id="yourModalDialog" runat="server">
     your modal dialog div
</div>

<asp:button id="btnHidden" style="display:none" runat="server" onclick="btnHidden_Click"/>

<强>脚本:

 function showjQueryUIDialogOkBtnCallback(buttonToClick, dialogSelector, buttonTxt, isModal, width, height) 
 {
       var buttonOpts = {};
       buttonOpts[buttonTxt] = function () {
           $("#" + buttonToClick).trigger('click');
       };

       buttonOpts['Cancel'] = function () {
           $(this).dialog("close");
           $(this).dialog('destroy'); 
       }

       $(dialogSelector).dialog({
           resizable: false,
           height: height,
           width: width,
           modal: isModal,
           open: function (type, data) {
               $(this).parent().appendTo("form"); //won't postback unless within the form tag
           },
           buttons: buttonOpts

       });

       $(dialogSelector).dialog('open');

  }

答案 1 :(得分:1)

我认为你最好的选择是Modal Popup available in the AJAX Control ToolKit。它将允许您基本上处理弹出窗口,就好像它是表单的一部分(基本上是它)。