0

我正在尝试对 Asp.net 中的页面进行部分更新。我通过 ajax 调用我的 .aspx 页面来构建我需要附加到页面上特定位置的内容,以前这对我有用。

我目前的问题是我得到了完整的 html 而不仅仅是元素,而且我不知道我以前做对了什么。

                var dataObj = { 'includeInactive': includeInactive, 'MasterPersonId': masterId, 'sChosenSSN': chosenSSN };

        $.ajax({
            url: 'clientside/providers/MergeJournalProviders/---ShowSomeDuplicateCivilRegistrationNumbers.aspx',
            dataType: 'html',
            data: dataObj,
            cache: false,
            async: true,
            beforeSend: function (xhr) {
            },
            success: function (result) {

                if (result != "" && result != undefined) {

                    //var htmlToAppend = $(result).find("#DuplicatePeople div").html();
                    //her vælger jeg gruppen(group) der skal opdateres
                    var oldDiv = $('#DupPpl');
                    var newDiv = jQuery(result).find('#DupPpl').html()
                    oldDiv.replaceWith(newDiv);
                    //$('#DupPpl').empty();
                    //$('#DupPpl').html(jQuery(result).find('#DuplicatePeople').html());
                    //$('#DupPpl').remove();
                    //$('#DupPpl').append(result);
                    //$('#DupPpl').append(result);


                }
            }
        });
4

2 回答 2

0

这是使用更新面板的不幸后果。它们的简单性带来了更高的开销。发生的情况是,不仅面板的内容被回发,所有视图状态和 HTML 标题等也被回发。更有效的部分回发可以使用 jQuery、页面方法和 Web 服务来完成。查看这篇文章:http: //msdn.microsoft.com/en-us/library/0b283bse%28v=vs.71%29.aspx

于 2013-02-27T12:15:39.713 回答
0

如果您的结果包含您的 aspx 文件中的所有 html,并且该 html 中存在 id 为“DupPpl”的元素,您可以使用 jquery 内容获取该元素:

尝试:

var oldDiv = $('#DupPpl');
var newDiv = $(result).contents().find('#DupPpl').html();
oldDiv.replaceWith(newDiv);

使用相同的代码获取其他元素:

$(result).contents().find('YOUR_ELEMENT_ID').html();
于 2013-02-27T12:56:38.497 回答