ajaxToolkit:ModalPopupExtender演示及实现代码

请允许我详细讲解“ajaxToolkit:ModalPopupExtender演示及实现代码”的完整攻略。

什么是ModalPopupExtender?

ModalPopupExtender 是 Ajax Control Toolkit 提供的一种扩展控件,可以实现弹出模态窗口的效果,且在模态窗口不同于常规窗口的背景模糊显示。这种扩展控件通常用于提示用户进行的操作或确认信息的展示,可以有效地优化网站的用户体验。

需要的前置条件

  • 需要安装 AjaxControlToolkit 扩展包;
  • 在 ASP.NET Web 应用程序中要添加 AjaxControlToolkit 的引用;
  • ModalPopupExtender 必须包含在 asp:ToolkitScriptManager 控制中。
  • 使用前请确保页面类型为 WebForm

如何使用ModalPopupExtender?

  1. 确定页面上需要弹出模态窗口的元素(按钮、超链接等),设置其属性 data-modal 值为弹出框中包含内容元素的 Id 值。

示例代码:

<asp:Button ID="btnShowPopup" runat="server" Text="Show Popup" data-modal="divContent" />
  1. 在 HTML 中添加模态框元素,Id 值与步骤 1 中的 data-modal 相同,且该元素要设置 style="display:none;",表示一开始该模态框元素不可见;

示例代码:

<div id="divContent" style="display:none;">
  <!--此处添加需要弹出的模态框内容-->
</div>
  1. <head> 标签中的 script 标签中添加 ModalPopupExtender 的引用,并设置 popupControlID 与要弹出的模态框元素 ID 相同,TargetControlId 与数据劫持的元素(按钮、超链接等)的 ID 相同。

示例代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="/Scripts/jquery-ui-1.12.1.min.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/4.6.1/1/MicrosoftAjax.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/4.6.1/1/MicrosoftAjaxWebForms.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/ajaxcontroltoolkit/18.1.0/ajaxcontroltoolkit.min.js"></script>
<script type="text/javascript">
    $(function () {
        // 确认弹窗示例
        $('.confirm').click(function () {
            var yes = $(this).data('yes');
            $('#yesBtn').attr('href', yes);
            $("#divConfirm").dialog({
                modal: true,
                autoOpen: false,
                closeText: "",
                show: {
                    effect: "blind",
                    duration: 200,
                },
                hide: {
                    effect: "explode",
                    duration: 200,
                }
            });
            $("#divConfirm").dialog("open");
            return false;
        });
        // 取消弹窗
        $('.cancel').click(function () {
            var no = $(this).data('no');
            $('#noBtn').attr('href', no);
            $("#divCancel").dialog({
                modal: true,
                autoOpen: false,
                closeText: "",
                show: {
                    effect: "blind",
                    duration: 200,
                },
                hide: {
                    effect: "explode",
                    duration: 200,
                }
            });
            $("#divCancel").dialog("open");
            return false;
        });
    });

    function refreshParent() {
        window.parent.$("#btnSearch").trigger("click");
    }
</script>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="True">
</asp:ToolkitScriptManager>
<!--确认提示框-->
<div id="divConfirm" style="display: none;">
    <p>您确定要执行该操作吗?</p>
    <p>
        <asp:HyperLink runat="server" ID="yesBtn" CssClass="btn btn-sm btn-warning mr-3" Text="是" /><asp:HyperLink runat="server" ID="noBtn" CssClass="btn btn-sm btn-secondary" Text="否" />
    </p>
</div>

示例说明:上述示例代码演示了如何在网页中实现确认弹窗的效果,用户点击触发弹窗的按钮后提示确认信息,用户根据自身需要选择是否执行操作。

ModalPopupExtender 的常用属性

ModalPopupExtender 控件提供了很多属性,包括以下一些常用的:

  • PopupControlID:必须指定的属性,在页面中元素的 Id 值。控制显示的 PopupPanel 的 ID 值;
  • TargetControlID:需要设定 data-modal 值的元素(一般是按钮或超链接)的 ID 值;
  • CancelControlID:指定关闭模态窗口的按钮 ID 值;
  • BackgroundCssClass:指定背景模糊的样式;
  • DropShadow:指定是否在弹出窗口周围添加投影效果;
  • RepositionMode:指定模态窗口显示位置的方式(Absolute 或 Fixed);
  • RepositionWhenModal:实际显示时是否重新定位弹出层。

总结

以上就是有关 AJAX Control Toolkit 的 ModalPopupExtender 的实现攻略。通常采用 'data-modal' 自定义属性来指定需要弹出的模态框元素,PopupControlID 属性与 TargetControlID 属性需要分别填充需要弹出框的 Id 值与数据劫持元素(一般是按钮或超链接)的 Id 值。此外,根据实际情况,还可以添加其他属性来优化用户体验,例如指定关闭模态窗口的按钮 ID 值、指定背景模糊的样式、指定是否在弹出窗口周围添加投影效果等等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ajaxToolkit:ModalPopupExtender演示及实现代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 关于CSS属性中visibility隐藏和display消失的区别简析

    CSS属性中的visibility和display都可以用来让元素在页面上不可见,它们看起来很相似,但它们却有着巨大的区别。在这篇攻略中,我们将会详细讲解这两者之间的不同,并包含两个示例来说明它们的不同之处。 visibility和display的区别简析 visibility属性 visibility属性仅仅是用来控制一个元素是否可见的。当一个元素被设置成…

    css 2023年6月10日
    00
  • CSS实现文字环绕图片效果

    下面就是CSS实现文字环绕图片效果的完整攻略,分为以下几个步骤: 1.准备工作 首先,在HTML文档中添加一张图片和一段文本。例如: <img src="example.jpg" alt="Example Image"> <p>Lorem ipsum dolor sit amet, consec…

    css 2023年6月10日
    00
  • CSS3中的clip-path使用攻略

    “CSS3中的clip-path使用攻略”指的是使用CSS3中的clip-path属性对网页元素进行剪裁处理的技巧。下面是完整的攻略: clip-path的概念和基础用法 clip-path是CSS3中的一个属性,用于对网页中的元素进行剪裁。使用它可以去掉元素的一部分区域,或是将元素剪裁成指定的形状。具体用法如下: .elem { clip-path: po…

    css 2023年6月10日
    00
  • 关于调试CSS跨浏览器样式bug的问题

    下面是针对调试CSS跨浏览器样式bug问题的攻略,包含以下步骤: 第一步:确认问题 在发现样式问题时,首先需要确认问题出现的位置和及时跟踪变化。目前有两种方式确认问题: 1.使用浏览器开发者工具 每一款现代浏览器均内置了开发者工具,可以通过F12或者Ctrl+Shift+I进入。开发者工具中的“元素”标签可以方便地对样式进行遍历和调整。通过这个标签查看元素默…

    css 2023年6月9日
    00
  • 大小不固定的图片、多行文字的水平垂直居中实现方法

    实现大小不固定的图片水平垂直居中的方法有很多,下面将介绍其中两种比较常见的方法。 方法一:使用flexbox 我们可以使用flexbox来实现大小不固定的图片水平垂直居中。 首先,在图片容器上设置display属性为flex,使其成为一个flex布局容器。 设置flex容器的align-items和justify-content属性均为center,使图片容…

    css 2023年6月10日
    00
  • 微信小程序实现导航功能的操作步骤

    下面是微信小程序实现导航功能的操作步骤的完整攻略。 什么是微信小程序导航功能? 在微信小程序中,导航功能可以让用户在小程序内部进行页面跳转,包括路由跳转和页面间参数传递。 实现步骤 在 app.json 文件中定义小程序的页面路径。例如: { "pages": [ "pages/index/index", "…

    css 2023年6月11日
    00
  • CSS中理解层叠性及权重如何分配

    CSS中的层叠性和权重是很重要的概念,它们影响着样式的表现和优先级,下面为你详细讲解。 什么是层叠性 层叠性指的是当多个CSS样式作用在同一个HTML元素上时,它们之间的优先级及表现方式。当同一元素上出现了多个CSS规则,浏览器会根据规则来确定其最终表现形式。 如何理解层叠性 我们可以理解为,一个元素的样式可以由多条规则共同定义,不同规则可能会对同一个样式属…

    css 2023年6月9日
    00
  • 通过GASP让vue实现动态效果实例代码详解

    下面我将详细讲解“通过GASP让Vue实现动态效果实例代码详解”的完整攻略: 什么是GASP GASP全称是“Graphics Animation and Sound with JavaScript”,是由美国圣何塞州立大学计算机科学系的一位学者Michael Korcuska于1998年发布的一个开源Javascript动画库,它能帮助我们轻松快速地实现网…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部