Asp.net mvc 如何在单击链接时渲染局部视图

Asp.net mvc 如何在单击链接时渲染局部视图,asp.net-mvc,twitter-bootstrap-3,Asp.net Mvc,Twitter Bootstrap 3,我有一个包含信息的表,我想点击link(这是一个引导gliphycon),当我点击这个链接时,我想在一个引导模式中呈现一个局部视图,其中包含关于这个列表项的所有信息 我的控制器 public PartialViewResult Details(int id) { try { return PartialView("Details", _paisRepository.GetDetails(id));

我有一个包含信息的表,我想点击link(这是一个引导gliphycon),当我点击这个链接时,我想在一个引导模式中呈现一个局部视图,其中包含关于这个列表项的所有信息

我的控制器

public PartialViewResult Details(int id)
        {
            try
            {
                return PartialView("Details", _paisRepository.GetDetails(id));
            }
            catch (Exception)
            {
                ViewBag.error = "Não foi possivel buscar os dados!";
                return PartialView("Error");
            }
        }
我调用将数据返回到modal的action方法:

<a href="/Pais/Details/@item.ID">
   <div class="glyphicon glyphicon-search" style="cursor:pointer"></div>
</a>

以及引导模式

<div class="modal" id="exibirPais" data-backdrop="static">
    <div class="modal-dialog">
        <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" id="myModalLabel">
                    <span class="glyphicon glyphicon-search"></span>
                    <label class="control-label">Exibir</label>
                </h4>
            </div>
            <div class="modal-body">

                @Html.Partial()

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-danger">Fechar</button>
            </div>
        </div>
    </div>
</div>

&时代;
埃希比尔
@Html.Partial()
粪便

您应该监听这个a标记上的click事件,并使用ajax向服务器操作方法发出请求,并使用返回的响应构建模式对话框

因此,在主视图中,当呈现a标记时,可以将href值设置为操作方法的url路径

<table>
@foreach (var item in SomeCollection)
{
  <tr>
     <td>
         <a href="@Url.Action("Details",new {id=item.Id})" class="modal-link">
                     <div class="glyphicon glyphicon-search" style="cursor:pointer"></div>
         </a>
     </td>
  </tr>
}
</table>
此代码将使用来自
详细信息
操作方法的部分视图结果替换模态的全部内容。这意味着(使用按钮)在
Details.cshtml
部分视图中。

首先:

向glyphicon添加javascript函数调用并发送当前对象项ID

   <span class="glyphicon glyphicon-search" style="cursor:pointer" data- onclick="ShowDetails('@item.id')"></span>

javascript中的单击事件

 $("#exibirPais").load('@Url.Action("PartialViewResult", "Controller_Name")');
注意:PartialView结果必须返回PartialView(模型);
和.cshtml页面部分页面

您需要ajax调用服务器方法,该方法返回部分内容并在成功回调中更新DOM。本文解释了具体用例的解决方案。我阅读了你的帖子@Shyju,我不会使用Html.partial来呈现部分视图,我会使用我的javascript函数?你的js代码对你的操作方法进行ajax调用,该方法返回部分视图结果(最终为纯Html),并将其用于模态对话框。
<div class="modal" id="exibirPais" data-backdrop="static">
<div class="modal-dialog">
    <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" id="myModalLabel">
                <span class="glyphicon glyphicon-search"></span>
                <label class="control-label">Exibir</label>
            </h4>
        </div>
        <div class="modal-body" id="Body">
         @*  Body where the  partial view will be rendered using AJAX*@

        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-danger">Fechar</button>
        </div>
    </div>
</div>
 function ShowDetails(Id) {
        $("#exibirPais").modal();
        $.ajax({
            url: '/Controller/Details/' + Id,
            success: function(result) {
                $('#Body').html(result);

            }
        });
    }
 $("#exibirPais").load('@Url.Action("PartialViewResult", "Controller_Name")');