简体   繁体   English

如何通过单击按钮在asp.Net中打开一个弹出窗口

[英]how to open a pop up window via button click in asp.Net

I am creating a website in asp.Net. 我正在asp.Net中创建一个网站。 I want to use a pop up window to perform actions. 我想使用一个弹出窗口执行操作。 i have a pop up window which runs on a hyperlink. 我有一个在超链接上运行的弹出窗口。

I want to perform this action to be done on button click. 我想执行此操作,只需单击按钮即可。 Is there any way to perform this action programatically. 有什么方法可以以编程方式执行此操作。 How to perform this action. 如何执行此操作。

My code is as follows:- 我的代码如下:

Html code:- HTML代码:-

    <a href="#" data-reveal-id="myModal">
    Fade and Pop
    </a>
        <div id="myModal" class="reveal-modal">
        <h1>Reveal Modal Goodness</h1>
        <p>This is a default modal in all its glory, but any of the styles                  here can easily be changed in the CSS.</p>
        <a class="close-reveal-modal">&#215;</a>
    </div>

Javascript Function:- JavaScript函数:-

$('a[data-reveal-id]').live('click', function(e) {
    e.preventDefault();
    var modalLocation = $(this).attr('data-reveal-id');
    $('#'+modalLocation).reveal($(this).data());
  });

$.fn.reveal = function(options) {

    var defaults = {  
        animation: 'fadeAndPop', //fade, fadeAndPop, none
        animationspeed: 300, //how fast animtions are
        closeonbackgroundclick: false, //if you click background will modal close?
        dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
    }; 

    //Extend dem' options
    var options = $.extend({}, defaults, options); 

    return this.each(function() {

        var modal = $(this),
            topMeasure  = parseInt(modal.css('top')),
            topOffset = modal.height() + topMeasure,
            locked = false,
            modalBG = $('.reveal-modal-bg');

        if(modalBG.length == 0) {
            modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal);
        }           

        //Entrance Animations
        modal.bind('reveal:open', function () {
          modalBG.unbind('click.modalEvent');
            $('.' + options.dismissmodalclass).unbind('click.modalEvent');
            if(!locked) {
                lockModal();
                if(options.animation == "fadeAndPop") {
                    modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'});
                    modalBG.fadeIn(options.animationspeed/2);
                    modal.delay(options.animationspeed/2).animate({
                        "top": $(document).scrollTop()+topMeasure + 'px',
                        "opacity" : 1
                    }, options.animationspeed,unlockModal());                   
                }
                if(options.animation == "fade") {
                    modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure});
                    modalBG.fadeIn(options.animationspeed/2);
                    modal.delay(options.animationspeed/2).animate({
                        "opacity" : 1
                    }, options.animationspeed,unlockModal());                   
                } 
                if(options.animation == "none") {
                    modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure});
                    modalBG.css({"display":"block"});   
                    unlockModal()               
                }
            }
            modal.unbind('reveal:open');
        });     

        //Closing Animation
        modal.bind('reveal:close', function () {
          if(!locked) {
                lockModal();
                if(options.animation == "fadeAndPop") {
                    modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                    modal.animate({
                        "top":  $(document).scrollTop()-topOffset + 'px',
                        "opacity" : 0
                    }, options.animationspeed/2, function() {
                        modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'});
                        unlockModal();
                    });                 
                }   
                if(options.animation == "fade") {
                    modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
                    modal.animate({
                        "opacity" : 0
                    }, options.animationspeed, function() {
                        modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure});
                        unlockModal();
                    });                 
                }   
                if(options.animation == "none") {
                    modal.css({'visibility' : 'hidden', 'top' : topMeasure});
                    modalBG.css({'display' : 'none'});  
                }       
            }
            modal.unbind('reveal:close');
        });     

        //Open Modal Immediately
    modal.trigger('reveal:open')

        //Close Modal Listeners
        var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {
          modal.trigger('reveal:close')
        });

        if(options.closeonbackgroundclick) {
            modalBG.css({"cursor":"pointer"})
            modalBG.bind('click.modalEvent', function () {
              modal.trigger('reveal:close')
            });
        }
        $('body').keyup(function(e) {
            if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key
        });


        function unlockModal() { 
            locked = false;
        }
        function lockModal() {
            locked = true;
        }   

    });
}

In jQuery, you can open a popup by something like this, here you can pass your html in .html : 在jQuery中,您可以通过类似这样的方式打开弹出窗口,在这里您可以在.html传递.html

    var customDialog = function (options) {
        $('<div></div>').appendTo('body')
                        .html('<input type="checkbox" id="myCheckBox" />Test Checkbox<div style="margin-top: 15px; font-weight: bold;">' + options.message + '</div>')
                        .dialog({
                            modal: true,
                            title: options.title || 'Custom Popup Box', zIndex: 10000, autoOpen: true,
                            width: 'auto', resizable: false,
                            buttons: {
                                Ok: function () {
                                    $(this).dialog("close");
                                },
                            },
                            close: function (event, ui) {
                                $(this).remove();
                            }
                        });
};

$('#myButton').click(function() { customDialog({message: 'your input message '}); });

Now you can call this method, on button click etc 现在您可以调用此方法,单击按钮等

customDialog({message: 'Test Message'});

Check this JS Fiddle [EDIT] To call a jquery function from anchor tag check this fiddle 检查此JS小提琴 [编辑]要从锚标记调用jquery函数,请检查此小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM