【问题标题】:Unable to load Partial View via JQuery ActionResult call in ASP.NET Core无法通过 ASP.NET Core 中的 JQuery ActionResult 调用加载部分视图
【发布时间】:2019-11-21 13:47:18
【问题描述】:

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

我可以启动返回 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# jquery asp.net ajax razor


    【解决方案1】:

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

    完整代码:

    $(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));
            })
    });
    

    【讨论】:

    • result 的值是多少?
    • 我需要检查一下,不知道如何在 jquery 中执行此操作... alert(result.ToString?)
    • 只要alert(result) 就可以了。
    • 它没有弹出
    • 那么可能发生了错误;我更新了我的答案以抓住任何问题。
    猜你喜欢
    • 2017-06-16
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 2018-09-13
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    相关资源
    最近更新 更多