2015-10-18 71 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

相关问题