【问题标题】:带有 Ajax 请求问题的 ASP.NET Core Razor Pages Ajax 网格
【发布时间】:2022-01-23 16:34:40
【问题描述】:

我得到了包含表格的主视图,在行点击 ajax 请求将被发送。

$.ajax({
        url: `/home/setViewBag/${id}`,
        type: "get",
        success: function (msg) {
            $("#modal").html("");
            $("#modal").append(msg);
            modal.style.display = "block";
        },
    });

“SetViewBag”

[HttpGet]
[Route("setViewBag/{id}")]
public async Task<ActionResult> SetViewBag(int id)
{
   ViewBag.Id = id;
   return View("AjaxGrid");
}

AjaxGrid.cshtml

@using NonFactors.Mvc.Grid
@Html.AjaxGrid(
        Url.Action("TestMethod", "Main", new { Id = ViewBag.Id }))

“测试方法”

[HttpGet]
[Route("TestMethod/{id}")]
public async Task<ActionResult> TestMethod(int id)
{
   return PartialView(await _service.Get(id));
}

问题:Ajax 请求附加到没有 TABLE 的模态新 div

<div class="mvc-grid" data-url="/main/testMethod/1"></div>

正如你在图片上看到的,模态是空的

模态应该包含渲染表

@Html.Grid(Model).Build(columns =>
{
    columns.Add(model => model.Id).Titled("Id");
    columns.Add(model => model.Name).Titled("Name");
}).Pageable(pager =>
{
    pager.PageSizes = new Dictionary<Int32, String> {{0, "All"}, {1, "1"}, {20, "20"}};
    pager.ShowPageSizes = true;
    pager.PagesToDisplay = 3;
    pager.CurrentPage = 1;
    pager.RowsPerPage = 1;
})

应用程序:Asp.Net CORE 3.1 MVC-Grid v6.2.4

【问题讨论】:

    标签: ajax asp.net-mvc asp.net-core razor-pages nonfactors-mvc-grid


    【解决方案1】:

    首先,您的 ajax 调用存在问题。您想返回 html 以将其放入您的模式中。

    $.ajax({
            url: `/home/setViewBag/${id}`,
            type: "get",
            dataType: 'html',
            success: function (msg) {
                $("#modal").html("");
                $("#modal").append(msg);
                modal.style.display = "block";
            },
    });
    

    然后在控制器中你应该返回 PartialView 而不是 View。我不熟悉您正在使用的组件,但如果它返回表,您应该在成功时使用 function $('#modal').html(msg); 。如果数据从控制器正确返回并且模态对话框仍然为空,则您的模态设置存在问题。确保您将数据放在哪里。

    【讨论】:

    • 仍然无法正常工作,模式为空。响应包含没有表格的 div
    • 你的模态html代码是什么?
    • &lt;div id="modal"&gt;&lt;div class="mvc-grid" data-url="/main/testMethod/1"&gt;&lt;/div&gt;&lt;/div&gt;
    猜你喜欢
    • 2018-03-30
    • 2020-11-13
    • 2021-06-20
    • 2021-10-14
    • 2018-10-08
    • 2021-05-24
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多