首页 > 解决方案 > 无法通过 ASP.NET Core 中的 JQuery ActionResult 调用加载部分视图

问题描述

我被困在这个问题上几个小时,如果不是几天的话。

我可以启动返回 PartialView("MODEL") 的 ActionResult,但我无法将实际视图呈现到索引 cshtml 页面内的 div 中。

这是我正在尝试的:

控制器:

...
public ActionResult Calendar()
    {
        PopulateCalendarAsync();
        return PartialView(_calendarViewModel);
    }
...

索引.cshtml:

<div id="calendarDiv" ></div>

索引内的脚本:

<script type="text/javascript">
$(document).ready(function (e) {
    $.get('@Url.Action("Calendar","Home")', {}, function (result) {
        $("#calendarDiv").load("~/Home/Calendar");

    });
});

当索引页面加载时,脚本调用 ActionResult Calendar() 没有问题。

问题是 div 没有被更新。

我的 Calendar.cshtml 页面位于主文件夹中的索引页面旁边。

我在这里想念什么?

标签: c#jqueryasp.netajaxrazor

解决方案


请求的result参数将包含日历部分视图的输出。 将其分配给通过$.gethtml
<div>$("#calendarDiv").html(result);

完整代码:

$(document).ready(function (e) {
    $.get('@Url.Action("Calendar","Home")')
        .then(function (result) {
             $("#calendarDiv").html(result);
         })
        .fail(function (xhqr, status, error) {
            alert(status);
            alert(JSON.stringify(xhqr));
        })
});

推荐阅读