Диалог JQuery UI не может загружать содержимое страницы динамически? - PullRequest
0 голосов
/ 05 марта 2011

Я использовал учебник 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, ДА, все еще нет содержимого в диалоге

Я использую Jquery 1.3.2 и пользовательский интерфейс 1.7.3 с ASP.Net Mvc

Я знаю, что есть много вопросов / ответов на эту тему по stackoverflow, но ни один из них, похоже, не отвечает успешно на мою проблему, и, поскольку эти вопросы кажутся годовалыми, я не уверен, что кто-нибудь ответит мне как можно скорее.

Любые идеи по отображению контента в диалоге

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 марта 2011

Ответ ...

$(function() {
        $('<div></div>').hide().load('Home/Example #content_form', function() {
        $(this).dialog({

                autoOpen: true,
                modal: true,
                height: 400,
                width: 400,
                title: 'Dynamically Loaded Page'
            })

        })

С примером.aspx, имеющим тег с ID = content_form

0 голосов
/ 05 марта 2011

Просто подумайте, попробуйте изменить селектор на

$('<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');
    });

Примечание. Я не проверял это, но так, как я это делаю.Надеюсь, вы поняли идею.

...