【问题标题】:Best option for modal screens in ASP.NETASP.NET 中模式屏幕的最佳选择
【发布时间】:2009-03-06 19:26:13
【问题描述】:

我正在寻找在另一个 ASP.NET 页面的 ASP.NET 中实现模式弹出窗口的最佳方法。我正在为 Firefox 2.x+ 编写代码,并且可以使用 JQuery,但我对它不是很熟悉。

我看到很多使用“AJAX”的解决方案,但我不确定在什么情况下,所以我没有走那条路。

【问题讨论】:

  • 澄清一下,AJAX 是从 Web 服务器异步请求数据的过程。 jQuery/jQuery UI 框架同时支持 AJAX 请求以及模态弹出窗口,但它们之间并没有太大的关系。

标签: asp.net jquery modal-dialog


【解决方案1】:

我正在使用jQuery UI 对话框插件。效果很好。该插件的文档可以在http://docs.jquery.com/UI找到。

【讨论】:

    【解决方案2】:

    我使用了 ajax 模态扩展器和 jQuery jqModal,两者都运行良好。归根结底,这个决定应该归结为代码的其余部分是什么样的,每个代码的舒适度等等。

    如果我今天要选择一个选项,我可能会选择 jqModal 或 jQuery 的简单模式。我现在对这些很满意。

    【讨论】:

    • 链接被破坏 - 点击,你最终会进入一个链接农场。
    【解决方案3】:

    对于简单的模态显示,我发现 BlockUI 是一个很好的解决方案。

    例如,这是一篇关于 using BlockUI as a modal progress indicator 的帖子,这是一篇关于 using BlockUI to display a modal confirmation dialog 的帖子。

    如果您需要更复杂的东西,我会选择 jQueryUI 对话框。

    【讨论】:

      【解决方案4】:

      我用过AjaxControlToolkit,但@tvanfosson 建议的jQuery 选项似乎更好

      【讨论】:

        【解决方案5】:

        你可以使用 Telerik 的 radWindow,推荐 tvanfosson 之类的 jQuery UI 对话框插件,或者你可以看看

        http://vision-media.ca/resources/jquery/jquery-popup-plugin-review 审查了一些弹出窗口的 jQuery 插件。

        只有 radWindow 的经验,我可以告诉你,使用 radWindow,你可能需要使用一些 hacks 和 quirks 才能使其正常工作,但如果你投入足够的时间,结果会很好。

        【讨论】:

          【解决方案6】:

          我自己制作,使用 DOM 方法。我发现它比将任何这些插件适应我们的 CSS 要简单得多。

          模态框只是一个带有背景的绝对定位窗口。 我们使用带有浮动内容的更大透明容器来制作我们的容器。

          我使用了一个函数,它返回一些带有浮动内容的 html。用于模态框的类应绝对定位在高 z 层。

          function create_modal(doc_id,css_class,append_to)
          {
          if(typeof append_to==='undefined'){append_to='content';}
          var container=document.getElementById(append_to);
          if(!container){return false;}
          var modal_box=document.createElement('div');
          container.appendChild(modal_box);
          modal_box.id=doc_id;
          modal_box.className=css_class;
          return modal_box;
          }
          
          var modal_window=create_modal('modal_id','a_css_class');
          if(!modal_window){return false;}
          modal_window.innerHTML=function_or_var_providing_html();
          

          所以,没有一些 10 或 15 k 插件,一切都很好,很简单!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-12-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多