无法通过ASP.NET Core中的JQuery ActionResult调用加载部分视图

时间:2019-07-11 19:21:06

标签: c# jquery asp.net ajax razor

如果不是几天,我就会在这个问题上停留数小时。

我可以启动返回PartialView(“ MODEL”)的ActionResult,但是无法将实际的View呈现到Index cshtml页面中的div中。

这是我正在尝试的:

控制器:

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<div class="grid-container toolsetbutton" id="gridid1556351f5ece4ee3a7dce6962be48e39" >
   <span><i class="material-icons toolsetbutton" style="font-size:48px;">notifications</i>
   <i class="material-icons toolsetbutton" style="font-size:48px;">delete</i></span>
</div>

Index.cshtml:

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

脚本内的索引:

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

加载“索引”页面时,脚本会毫无问题地调用ActionResult Calendar()。

问题是div没有被更新。

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

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

result请求的$.get参数将包含日历局部视图的html输出。
通过<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));
        })
});