2013-09-03 4 views
2

У меня есть jquery modal, который отображает частичный вид, однако, когда данные вводятся в представление и закрыты (не сохраняются, просто закрывают диалог) содержимое сохраняется в представлении , Итак, в следующий раз, когда модаль открывается, это то же самое, что и при первом закрытии.MVC3 Модный диалог JQuery сохраняет содержимое при закрытии и открытии

Есть ли способ заставить модальный визуализировать исходный частичный вид или заставить его сделать это? Я не размещал контент частичного представления, так как это простая форма с полями.

Посмотреть

<div id="client-detail-modal" title="Add New Address"> 
    @Html.Partial("_Address", address) 
</div> 

JQuery

$("#client-detail-modal").dialog({ 
      modal: true, 
      autoOpen: false, 
      height: 'auto', 
      width: 600, 
      position: ['middle', 20], 
      buttons: { 
       "Add Address": function() { 
        $(this).dialog("close"); 
       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
     $('#client-detail-modal').css('height', 'auto'); 

Инициатор

$("#client-detail-modal").dialog("open"); 

ответ

0

При визуализации частичный вид я На странице он превращает html в ваш основной дом. В диалоговом окне jquery выполняется частичный просмотр и отображается в диалоговом окне. Когда вы вносите изменения, вы изменяете исходный вид. Вы должны в диалоговом окне открыть событие очистить любые старые значения или загрузить значения по умолчанию, а при закрытии диалогового окна сохранить новые значения. Таким образом, вы можете повторно использовать один и тот же диалог много раз.

http://api.jqueryui.com/dialog/#method-open http://api.jqueryui.com/dialog/#method-close

Посмотрите на это в качестве примера и вид источника http://jqueryui.com/dialog/#modal-form На близком случае, если они удалить все старые данные и очистить какие-либо ошибки

close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
     } 
+0

Я не думал об этом, так как мне нужно сбросить форму на сохранение, поэтому благодарим за это. – Codesight

1
$('#myModal') 
    .on('hide.bs.modal', 
     function() { 
      $('#myModal').removeData(); 
     }); 

Вставьте этот код в разделе Сценарии на *.cshtml.
Это удалит данные, а в следующем t ime, что вы его открываете, они создадут новое.

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