Bootstrap模型中的GridMvc排序/筛选/分页不起作用

时间:2019-04-05 14:46:26

标签: asp.net-mvc modal-dialog grid.mvc

我正在将Bootstrap 4 Modal窗口与显示网格的局部视图一起使用。一切正常,直到我尝试进行排序/过滤/分页。模态显示正确的数据集,但是当我尝试过滤/排序/分页时,它调用填充模态页面的控制器/方法。

当我将鼠标悬停在该列上进行排序时,它在底部显示url,并且该URL包含引发弹出窗口的页面的控制器/动作,而不是用于填充弹出窗口的控制器/动作。网址末尾的参数对于我要排序的列是正确的-意味着它具有用于partialView和要排序的列的操作方法的正确参数,只是它具有页面和页面的contoller /方法不是模态。

这是_Layout中的partialView占位符:

@Html.Partial("_AuditModal")

这是_Layout中的函数,用于调用局部视图的控制器并显示模式:

function ShowAudit(tblName, tblId) {

    var url = '@Html.Raw(@Url.Action("AuditInfo", "Home", new { tableName = "__rId__", tableId = "__ds__"}))';
    url = url.replace('__rId__', tblName).replace('__ds__', tblId);

    $.get(url, function (data) { $('.modal-body').html(data); });

    $('#AuditInfoModal').modal('show');
    $('#AuditInfoModal').on('hidden.bs.modal', function(e) { $('.modal-body').html("") });

};

这是模式页面:

@using (Html.BeginForm("AuditInfo", "Home", FormMethod.Post, new {area = "Admin", @class = "container", role = "form", @id = "form1", oncomplete = ""}))
{
<div class="modal  hide fade " id="AuditInfoModal">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Audit Info</h4>
                <button type="button" class="close float-left" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            </div>
            <div class="modal-body">
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div>
}

这是模态主体的部分页面:

 @using (Html.BeginForm("AuditInfo", "Home", FormMethod.Post, new {area = "Admin", @class = "container", role = "form", @id = "form1", oncomplete = ""}))
{
    @Html.Grid(Model).Columns(columns =>
    {
        columns.Add(c => c.USER_ID).Titled("User").Filterable(true);
        columns.Add(c => c.COMMENT).Titled("Comment").Filterable(true);
        columns.Add(c => c.CREATED).Titled("Audit Date").Filterable(true);

    }).WithPaging(10).Sortable(true)

}

然后在我的每个页面上,我都有一个按钮,用户可以按此按钮来查看他们所查看的记录:

columns.Add().Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs( data => @"<button class='btn-secondary' type='btn'  onclick='ShowAudit(&#39;EQUIPMENT_TYPE&#39;," + data.ID+")'> Audit </button>");

这是HomeController中的操作:

public ActionResult AuditInfo(string tableName, int tableId)
    {
        var data = _auditSvc.GetAllByTableId(tableName, tableId).OrderByDescending(o=> o.CREATED).ToList();
        return PartialView("_AuditInfo", data);
    }

不确定问题是否出在从中调用弹出窗口的页面还包含网格,并且它是否使用弹出窗口中的控制器/方法进行排序/过滤/分页,而不是部分页面的控制器/方法?

0 个答案:

没有答案