2015-10-18 25 views
2

我正在研究asp.net mvc腳手架的小POC。 我有一個動作鏈接調用另一個控制器的動作方法,這反過來打開了該動作方法的視圖。 但我希望該視圖在彈出框中打開,而不是在新選項卡中。 以下爲操作鏈接在asp.net MVC操作中彈出窗口中打開視圖點擊

@Html.ActionLink("View Clients", "Details", "Client", new { id=item.Id}) 

在上述碼的碼「查看客戶端」是指所謂的「詳細資料」,其通過ID作爲參數,以及「客戶控制器」的方法中的鏈路名稱。 以下是客戶端控制器:

public class ClientController : Controller 
{ 
    public ActionResult Details(long id = 0) 
    { 
     Client client = db.Clients.Find(id); 
     if (client == null) 
     { 
      return HttpNotFound(); 
     } 
     return View(client); 
    } 
    } 

以上控制器方法返回的細節View客戶端控制器。

所以我想在這裏做的是打開彈出窗口中的特定視圖。 有沒有人有解決這個問題?

+0

您需要使用jquery和ajax將您的部分視圖返回到同一頁面並將其添加到DOM。 –

+0

[Open a view as a pop up]的可能重複(http://stackoverflow.com/questions/8064875/open-a-view-as-a-pop-up) –

回答

2

使用ajax調用返回部分視圖並將其添加到DOM。

var url = '@Url.Action("Details", "Client")'; 

$('selector').load(url, { id: 1 }); 
+0

您可以增強您的答案並添加一個ID /類,並將其用作選擇器,這將使答案更有用:) –

+0

由於沒有HTML標記,因此不清楚您如何管理主頁上的標識。 '選擇器'是你想用局部視圖數據填充的元素。將要加載到該選擇器中的「客戶端」的標識(例如,通過點擊事件)傳遞給該選擇器。 –

2

添加自定義屬性的鏈接,使用其URL從控制器加載PartialView在模態形式。

查看:

@Html.ActionLink("View Clients", "Details", "Client", new { id = item.Id }, new { data_modal = "" }) 

<!-- modal placeholder--> 
<div id='myModal' class='modal fade in'> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div id='myModalContent'></div> 
     </div> 
    </div> 
</div> 

的Javascript:

$(function() { 
    $.ajaxSetup({ cache: false }); 
    $("a[data-modal]").on("click", function (e) {   
     $('#myModalContent').load(this.href, function() { 
      $('#myModal').modal({ 
       keyboard: true 
      }, 'show'); 
     }); 
     return false; 
    }); 
}); 

控制器:

public class ClientController : Controller 
{ 
    public ActionResult Details(long id = 0) 
    { 
     Client client = db.Clients.Find(id); 
     if (client == null) 
     { 
      return HttpNotFound(); 
     } 
     return PartialView(client); 
    } 
} 

參考: http://www.advancesharp.com/blog/1125/search-sort-paging-insert-update-and-delete-with-asp-net-mvc-and-bootstrap-modal-popup-part-1 http://www.advancesharp.com/blog/1126/search-sort-paging-insert-update-and-delete-with-asp-net-mvc-and-bootstrap-modal-popup-part-2

注意:ASP MVC會自動將html屬性中的下劃線轉換爲破折號。 https://stackoverflow.com/a/4515095/3387187

相關問題