如何在jQuery UI对话框中加载页面

我试图在jQuery对话框中加载另一个页面。 我已经看了很多文章(包括下面的文章)。 似乎接受的技术是:

$(function () { $(document).ready(function () { var d1= $('#dialog-import').dialog({ resizeable: false, height: 600, modal: true, autoOpen: false, buttons: { 'My button1': function () { $(this).dialog('close'); }, Cancel: function () { $(this).dialog('close'); } } }); d1.load('/DataSets/ImportSpreadsheet/91D55CAC-6C2C-46EE-8730-0DBFE26D1D92').dialog('open'); }); }); 

这将打开对话框,包括完整的内容和我的两个对话框按钮,但是,两个对话框按钮不起作用(我无法点击它们)。

代码的其他替代方案,例如:

  $('#dialog-import').load('/DataSets/ImportSpreadsheet/' + a, function () { $('#dialog-import').dialog('open'); }); 

在Google Developer Console中导致此错误:

 Uncaught TypeError: Object [object Object] has no method 'dialog' 

我一定是想念一些愚蠢的东西。 但是,我一直在寻找它,没有任何运气。

谢谢。

这就是我想要做的,尝试了他们的建议,没有运气:

jQuery模式对话框onclick

jQuery中的对话框

如何使用jquery ui对话框加载页面

在对话框中加载另一页

Jquery对话框打开另一个页面

原来,问题是我试图加载一个包含header,body,html元素的完整页面。 jQuery不喜欢那样。

我发现了两种可能的解决方

  1. 使用C#MVC局部视图。 确保部分视图不包含header,html等元素。 使用它原始问题中的代码可以正常工作。

  2. 使用iFrame元素,并加载要查找的页面以更改src属性,如下面的代码所示。

    $(’#selector’)。click(function(){
    $( ‘#对话框导入’)ATTR( ‘src’ 中, ‘/数据集/ ImportSpreadsheet / …’)。 $( ‘#对话框导入’)对话框( ‘开放’)。
    });

尽管如此,我很困惑的是这么多人说他们不必担心标题/正文标记,就像这个post隐含地说: ASP.NET Mvc jquery ui对话框作为视图还是部分视图?

我会继续研究,但是有同样问题的人可能会觉得这很有用。