2013-02-27 4 views
0

Я пытаюсь сделать частичное обновление страницы в Asp.net. Я вызываю свою страницу .aspx через ajax для создания контента, который мне нужно добавить в определенное место на моей странице, и ранее это сработало для меня.Ajax провайдер возвращает слишком много html Asp.Net

Моя текущая проблема заключается в том, что я получаю полный 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); 


       } 
      } 
     }); 
+0

Попробуйте newDiv = $ (результат) .contents() найти ('#') DupPpl HTML(); если ваша проблема заключается в содержании newDiv. – RedDevil79

+0

проблема на самом деле содержание результата – KennO

+0

это нормально, результатом всегда будет то, что эта страница вернется в браузер. – RedDevil79

ответ

0

Если результат имеет все HTML из файла ASPX и элемент с идентификатором «DupPpl» существует в том, что HTML вы можете получить элемент, используя содержимое JQuery:

попробовать:

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

Используйте один и тот же код, чтобы получить другие элементы:..

$(result).contents().find('YOUR_ELEMENT_ID').html(); 
0

Это неудачное последствие использования панелей обновления. Их простота связана со стоимостью выше головы. Что происходит, так это то, что содержимое панели не только отправляется обратно, но и все состояния представления и заголовки HTML и т. Д. Более эффективные частичные обратные сообщения можно выполнить с помощью jQuery, методов страниц и веб-служб. Проверьте эту статью: http://msdn.microsoft.com/en-us/library/0b283bse%28v=vs.71%29.aspx

+0

, и я просто понял, что вы не используете панели. Сожалею. – jason

+0

Это то же самое, что вы ожидали? – ssilas777

+0

Я просто пытаюсь добавить html в div, но результат моего ajax содержит все html, а не только те теги, которые мне нужны – KennO

Смежные вопросы