2015-10-29 32 views
0

作爲我的共享佈局的一部分,我希望在點擊按鈕時出現模態對話框。部分視圖中的ASP MVC Bootstrap模態

這與模態對話框我的局部視圖:

<ul class="nav navbar-nav navbar-right"> 
    <li> 
     <button type="button" class="open-dialog btn" data-toggle="modal" data-target="#SettingsModal">Settings</button> 
    </li> 
</ul> 

<!-- Modal --> 
<div class="modal fade" id="SettingsModal" tabindex="-1" role="dialog" aria-labelledby="SettingsModalLabel"> 
<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> 
     </div> 
     <div class="modal-body"> 
      <p>Some text</p> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      <a id="settings" class="btn btn-primary btn-sm" href="#">Save changes</a> 
     </div> 
    </div> 
</div> 
</div> 

腳本

<script type="text/javascript"> 
    $(document).on("click", ".open-dialog", function() { 
     $('#settings').attr('href', $(this).data('url')); // update the link's url 
    }); 
</script> 

和局部視圖的控制器:

public class SettingsController : Controller 
{ 
    public ActionResult _Settings() 
    { 
     return PartialView("_Settings"); 
    } 
} 

什麼我要去的,是在頁面頂部有一個按鈕作爲共享_Layout的一部分。與此相似:

enter image description here

當我點擊「設置」按鈕,一個模式對話框應該上來了,但是當我現在點擊它,在屏幕的正變暗,我可以排序的暗示背景中的模態對話框。我不確定模式中我做錯了什麼。任何提示表示讚賞!

+0

你必須Ajax調用發送到行動 –

+0

是否缺少結束'

'的'
+0

你有沒有在'@ Html.Partial'中加入部分視圖? – Dandy

回答

0

試試這個:

$('#settings').on('show.bs.modal', function (event) { 
     var button = $(event.relatedTarget); 
     url = button.data('url'); 
     $.post(url, function (data) { 
      $('.model-body').html(data); 
     }); 
}); 

操作方法:

public PartialViewResult Settings() 
{ 
      if (Request.IsAjaxRequest()) 
      { 
       // retrive your model 
       return PartialView("_Settings"); 
      } 
      return null; 
}