0

Я пытаюсь вернуть модальный из моего постулата пост-менеджера предыдущего модального. Проблема, с которой я сталкиваюсь, заключается в том, что частичный вид не отображается как модальный. Вся документация, которую я могу найти, относится к открытию модала с помощью кнопки, однако мой модальный является условным, поэтому я хочу, чтобы контроллер обрабатывал или не загружал модальный/который модальный для загрузкиОбратный просмотр как мода

Часть частичного просмотра, где I вернуть вид, содержащий модальных

return PartialView("_AccountUpdateSuccess"); 

Мой Посмотреть

<div class="modal fade" tabindex="-1" role="dialog" id="updateSuccess"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title">Success!</h4> 
      </div> 
      <div class="modal-body"> 
       <p class="text-success">@ViewBag.Account has been updated successfully!</p> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div><!-- /.modal-content --> 
    </div><!-- /.modal-dialog --> 
</div><!-- /.modal --> 


<script type="text/javascript"> 
    $(document) 
     .ready(function() { 
      $("#updateSuccess").modal('show'); 
     }); 
</script> 
+0

* Проблема, которую я имею, что частичный вид не отображается как модальный * .... Как вынесенном? – Hackerman

+0

Это похоже на модальный вид, но всплывающего окна нет. Просто белый экран с текстом/формами, но не правильно отформатирован –

+2

Я думаю, что это сообщение полезно для вас: http://stackoverflow.com/questions/11231862/using-bootstrap-modal-window-as-partialview –

ответ

1

Вы должны добавить JavaScript в parent просмотр, как обратный вызов из вашей функции ajax, а не частичный вид. Причина этого в том, что теги скриптов, добавленные вызовом ajax, не запускаются автоматически.

+0

Спасибо, что это имеет смысл –

+0

Как я могу вызвать шоу из родителя без использования события click? –

+0

Вы все равно можете использовать клик, вы должны просто привязать его на один уровень выше, используя что-то вроде $ ("body"). On (". Selector", "click", function() { – Milney

0

Способ, которым я делаю это, заключается в том, чтобы вставить ответ в пустой div, где вы можете положить его, например, в нижней части общей компоновки. Я использую этот метод, возвращая PartialView без каких-либо проблем.

Затем я использую этот скрипт для загрузки модальный:

$.ajax({ 
    type: "POST", 
    url: "/Controller/ActionWhichReturnsAPartialView", 
    success: function (data) { 
     $(".modal-backdrop").remove(); // I have to do this hack just in case of a modal calling another modal and to avoid some display issues with the overlayed background 
     $("#temp").html(data); // #temp is the empty div 
     $("#myModal").modal("show"); // myModal is the root div id of the html result 
    } 
+0

Это будет работать ovided, вызов ajax находится на родительской странице, а НЕ частичный, что, по-видимому, является проблемой OPs – Milney

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