我使用了教程http://www.devcurry.com/2010/06/load-page-dynamically-inside-jquery-ui.html来动态地将aspx页面加载到jquery ui对话框中而不使用iframe
例如
$(function() {
$('<div>').dialog({
autoOpen: true,
modal: true,
open: function() {
$(this).load('Example.aspx');
},
height: 400,
width: 400,
title: 'Dynamically Loaded Page'
});
当我调试此页面时,即使页面包含内容,它也只是加载一个没有任何内容的空白对话框。我用路径写了
例如$(this).load('/Home/Example.aspx');
我甚至在函数中添加了检查它是否正在加载
例如$(this).load('/Home/Example.aspx', function(){alert(Load Successful);});
确实返回true YET仍然没有对话框中的内容
我正在使用Jquery 1.3.2和带有ASP.Net Mvc的ui 1.7.3
我知道在stackoverflow上有很多关于这个主题的问题/答案,但它们似乎都没有成功回答我的问题,因为这些问题似乎已经一年不确定是否有人会尽快回复我。
关于在对话框中显示内容的任何想法
谢谢
答案 0 :(得分:0)
只是想一想,尝试将选择器更改为
$('<div></div>').dialog({
你引用的例子也是使用jquery 1.4.2和jquery ui 1.8.1, 你能升级吗?
编辑: 你也可以这样试试。
$(function() {
$('<div></div>').load('Example.aspx', {},
function(data) {})
.dialog(
{
autoOpen: true,
modal: true,
height: 400,
width: 400,
title: 'Dynamically Loaded Page'
}).dialog('open');
});
注意我没有测试过这个,但它是我的方式。希望你明白了。
答案 1 :(得分:0)
答案是......
$(function() {
$('<div></div>').hide().load('Home/Example #content_form', function() {
$(this).dialog({
autoOpen: true,
modal: true,
height: 400,
width: 400,
title: 'Dynamically Loaded Page'
})
})
使用带有ID = content_form
标签的Example.aspx