在模态弹出窗口上使用 X.PagedList

Using X.PagedList on a modal pop-up

我在页面上弹出了一个模式:

...
<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="companySearchModal" aria-hidden="true" id="companySearchModal"> 
      <div class="modal-dialog" role="document"> 
         <div class="modal-content"> 
           <div id="companySearchModalContent"></div> 
         </div><!-- /.modal-content --> 
     </div><!-- /.modal-dialog --> 
   </div><!-- /.modal -->
...

我弹出的那个:

...
    $('#companySearchModalContent').html(data); 
    $('#companySearchModal').modal(options); 
    $('#companySearchModal').modal('show');
...

在那个模态对话框中,我在底部设置中显示了带有此 PagedListPager 的公司列表,如下所示:

<div>
    Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

    <div id="companySearchPager">
        @Html.PagedListPager(
                                Model,
                                page => Url.Action("CompanySearch",
                                                   "Admin",
                                                     new
                                                          {
                                                              sortOrder = ViewBag.CurrentSort,
                                                              currentFilter = ViewBag.CurrentFilter,
                                                              page = page
                                                     }),
                                PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(
                                    new AjaxOptions
                                        {
                                            HttpMethod = "GET",
                                            UpdateTargetId = "companySearchModalContent"
                                        }
                                    )
                                )
    </div>
</div>

当我单击由 PagedListPager 控件呈现的给定页面元素时,它会从控制器调用操作“CompanySearch” “Admin”在 Url.Action 中指定,但它呈现返回的 PartialView全部独立于整个页面,而不是将部分视图注入 "#companySearchModalContent" Div 我已设置为 UpdateTargetIdPagedListRenderOptions.EnableUnobtrusiveAjaxReplacing 调用的 AjaxOptions 中。

我认为 PagedListPager 可以做到这一点。我添加了一些 jQuery 代码来调用适当的 ajax 注入 "$('#companySearchModalContent').html(data);" 但我没有办法获取页码、搜索和排序参数以及用户从寻呼机控件单击的参数,并且不知道如何设置 urldata 适当地在 .ajax 代码块中。

$('#companySearchPager').click(function (e) {
    e.preventDefault();
    $.ajax({           
        type: 'GET',
        // How to get the page value the user clicked on?
        // data: {"page": #},
        // How to get the url? This would work if I could get the page #.
        // url: '@Url.Action("CompanySearch", "Admin")',
        success: function (data) {
            debugger;
            $('#companySearchModalContent').html(data);
        },
        error: function () {
            showAlert("Employer content load failed.", "warning", 5000);
        }
    });
    return false;
});

我希望 PageListPager 生成“$('#companySearchModalContent').html(data);”考虑到我已经在 PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing 调用的 AjaxOptions 中设置了 UpdateTargetId,所以打电话给我。

感谢您的帮助...

修复了 newel post!

已添加

<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

在页面顶部。