【问题标题】:How to determine what caused WebGrid to trigger ajaxUpdateCallback如何确定是什么导致 WebGrid 触发 ajaxUpdateCallback
【发布时间】:2013-11-26 04:43:07
【问题描述】:

有一个页面主要用于显示 WebGrid (MVC 5) 和用于编辑行的 Bootstrap 3.0.2 模式 (jQuery 2.0.3)。只是一个小问题...对话框不仅会在我单击一行时出现,而且当我单击列标题和寻呼机链接中的排序链接时也会出现。理想情况下,我希望能够区分触发 ajaxUpdateCallback 的原因,以便有条件地在回调处理程序中显示模式。

这是我认为的代码...

@using School.Models
@model IEnumerable<Course>

@{
    ViewBag.Title = "Courses";
}

<h2>@ViewBag.Title</h2>

@{
    var grid = new WebGrid(Model, rowsPerPage: 15, ajaxUpdateContainerId: "gridContent", ajaxUpdateCallback: "webGridUpdated");
}
<div id="gridContent">
    @grid.GetHtml(htmlAttributes: new { id = "grid", @class = "table table-striped table-hover table-condensed" },
        columns: grid.Columns(
            grid.Column("Name", header: string.Format("Name {0}", grid.SortColumn == "Name" ? grid.SortDirection == SortDirection.Ascending ? "▼" : "▲" : ""),
                format: @<text>@item.GetSelectLink(item.Name)</text>),
            grid.Column("Active", header: string.Format("Active {0}", grid.SortColumn == "Active" ? grid.SortDirection == SortDirection.Ascending ? "▼" : "▲" : ""),
                format: (item) =>
                {
                    var course = item.Value as Course;
                    return Html.DisplayFor(modelItem => course.Active);
                }
            )
        )
    )

    @if (grid.HasSelection)
    {
        @Html.Partial("Edit", (Course)grid.SelectedRow.Value)
    }
    else // New Course
    {
        @Html.Partial("Create", new Course() { })
    }
</div>

<script type="text/javascript">
    function webGridUpdated() {
        // Would like to be able to wrap this in a conditional
        $('#EditModal').modal('show');
    }
</script>

【问题讨论】:

    标签: jquery twitter-bootstrap-3 webgrid asp.net-mvc-5


    【解决方案1】:

    在 Chrome 开发工具中,您可以在“任何 XHR”事件上设置断点。一旦断点被​​命中,您也许可以查看调用堆栈以确定触发 XHR 的原因。

    【讨论】:

      【解决方案2】:

      发现如果我点击网格中的一行,我的模态对话框的表单操作正在使用 AJAX 设置为 /Courses/Edit/4(或任何非零整数),但如果我点击 /Courses/Edit/0单击“排序”或“寻呼机”超链接。所以我在网格的回调中添加了一些代码来检查这一点并有条件地打开引导模式。

      【讨论】:

        猜你喜欢
        • 2010-11-17
        • 1970-01-01
        • 2017-02-08
        • 2011-01-18
        • 2019-06-06
        • 2014-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多