Javascript 使用JQuery显示模态对话框实现

Javascript 使用JQuery显示模态对话框实现,javascript,jquery,asp.net,vb.net,Javascript,Jquery,Asp.net,Vb.net,我需要使用Jquery打开一个页面作为模式对话框。例如:我有两个页面,比如Parent.aspx和Child.aspx,当我单击Parent.aspx中的按钮/链接时,我需要使用Jquery在模式对话框中打开Child.aspx。回发也可以发生在父页面和子页面。我认为最简单的方法是在指向child.aspx的对话框中使用 我认为最简单的方法是在对话框中指向Child.aspx JQuery有许多选项可用于创建带有页面的模式“弹出窗口”,但当我阅读您的问题时,我认为您希望在单独的浏览器窗口中打开与

我需要使用Jquery打开一个页面作为模式对话框。例如:我有两个页面,比如Parent.aspx和Child.aspx,当我单击Parent.aspx中的按钮/链接时,我需要使用Jquery在模式对话框中打开Child.aspx。回发也可以发生在父页面和子页面。

我认为最简单的方法是在指向child.aspx的对话框中使用

我认为最简单的方法是在对话框中指向Child.aspx

JQuery有许多选项可用于创建带有页面的模式“弹出窗口”,但当我阅读您的问题时,我认为您希望在单独的浏览器窗口中打开与原始页面具有模式关系的页面。Javascript(Jquery)允许。这将在新窗口中打开第二个页面,但是,它不会创建模式关系,也(我相信)不会。JQuery有许多选项可以创建页面的模式“弹出窗口”,但当我阅读您的问题时,我认为您希望在单独的浏览器窗口中打开与原始页面具有模式关系的页面。Javascript(Jquery)允许。这将在新窗口中打开第二个页面,但是,它不会创建模式关系,我相信它也不能创建模式关系。

有许多jquery插件可用于模式对话框,例如:


根据您所寻找的用户体验,您可能需要在模式对话框中使用iframe,或者可能需要一个ajax调用来获取内容并将其加载到对话框中。

有许多jquery插件可用于模式对话框,例如:

function test(){
    openShadowBox("http://www.google.com", 400, 600, 'my google');
}
function openShadowBox(url, height, width, title){
    width = parseInt(width)+60;
    var horizontalPadding = 30;
    var verticalPadding = 30;
    $('<iframe id="cdt_shadowbox" src="' + url + '" frameBorder="0"/>').dialog({
        title: (title) ? title : 'CDT Shadowbox',
        autoOpen: true,
        width: width,
        height: height,
        modal: true,
        resizable: true,
        autoResize: false,
        closeOnEscape: true,
        //position: 'top',
        overlay: {
            opacity: 0.5,
            background: "black"
        }
    }).width(width - horizontalPadding).height(height - verticalPadding);
    $('html, body').scrollTop(0);  
}

根据您所寻找的用户体验,您可能需要在模式对话框中使用iframe,或者可能需要一个ajax调用来获取内容并将其加载到对话框中。

function test(){
function test(){
    openShadowBox("http://www.google.com", 400, 600, 'my google');
}
function openShadowBox(url, height, width, title){
    width = parseInt(width)+60;
    var horizontalPadding = 30;
    var verticalPadding = 30;
    $('<iframe id="cdt_shadowbox" src="' + url + '" frameBorder="0"/>').dialog({
        title: (title) ? title : 'CDT Shadowbox',
        autoOpen: true,
        width: width,
        height: height,
        modal: true,
        resizable: true,
        autoResize: false,
        closeOnEscape: true,
        //position: 'top',
        overlay: {
            opacity: 0.5,
            background: "black"
        }
    }).width(width - horizontalPadding).height(height - verticalPadding);
    $('html, body').scrollTop(0);  
}
打开阴影框(“http://www.google.com“、400600,‘我的谷歌’”; } 函数openShadowBox(url、高度、宽度、标题){ 宽度=parseInt(宽度)+60; var水平填充=30; 垂直填充变量=30; $('')。对话框({ 标题:(标题)?标题:“CDT影盒”, 自动打开:对, 宽度:宽度, 高度:高度,, 莫代尔:是的, 可调整大小:正确, 自动调整大小:false, closeOnEscape:没错, //位置:'顶部', 覆盖:{ 不透明度:0.5, 背景:“黑色” } }).宽度(宽度-水平填充)。高度(高度-垂直填充); $('html,body')。滚动顶部(0); }
功能测试(){
打开阴影框(“http://www.google.com“、400600,‘我的谷歌’”;
}
函数openShadowBox(url、高度、宽度、标题){
宽度=parseInt(宽度)+60;
var水平填充=30;
垂直填充变量=30;
$('')。对话框({
标题:(标题)?标题:“CDT影盒”,
自动打开:对,
宽度:宽度,
高度:高度,,
莫代尔:是的,
可调整大小:正确,
自动调整大小:false,
closeOnEscape:没错,
//位置:'顶部',
覆盖:{
不透明度:0.5,
背景:“黑色”
}
}).宽度(宽度-水平填充)。高度(高度-垂直填充);
$('html,body')。滚动顶部(0);
}

您可以使用
iFrame
更新面板。

模态对话框实际上与任何其他页面元素没有什么不同。让它看起来像“模态”的只是CSS而已

然而,使用ASP.NET和jQuery的一个困难是,ASP.NET需要将所有内容都放在它的单个
表单
标记中。由于jQuery不是专门为ASP.NET设计的,所以它(及其插件)可能知道(或不关心)这一点


例如,如果您使用
SimpleModel
它有一个选项来指定对话框在表单上的附加位置,您可以使用它来确保它在
#aspnetform
中,并且它应该像任何其他页面元素一样工作。

您可以使用
iFrame
UpdatePanel。

模态对话框实际上与任何其他页面元素没有什么不同。让它看起来像“模态”的只是CSS而已

然而,使用ASP.NET和jQuery的一个困难是,ASP.NET需要将所有内容都放在它的单个
表单
标记中。由于jQuery不是专门为ASP.NET设计的,所以它(及其插件)可能知道(或不关心)这一点

例如,如果您使用
simpleModel
它有一个选项来指定对话框在表单上的附加位置,您可以使用它来确保它位于
#aspnetform
中,并且它应该像任何其他页面元素一样工作