无法通过 ASP.NET Core 中的 JQuery ActionResult 调用加载部分视图
Posted
技术标签:
【中文标题】无法通过 ASP.NET Core 中的 JQuery ActionResult 调用加载部分视图【英文标题】:Unable to load Partial View via JQuery ActionResult call in ASP.NET Core 【发布时间】: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 页面位于主文件夹中的索引页面旁边。
我在这里错过了什么?
【问题讨论】:
【参考方案1】:$.get
请求的result
参数将包含日历局部视图的html
输出。
通过$("#calendarDiv").html(result);
将其分配给<div>
完整代码:
$(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)
就可以了。
它没有弹出
那么可能发生了错误;我更新了我的答案以抓住任何问题。以上是关于无法通过 ASP.NET Core 中的 JQuery ActionResult 调用加载部分视图的主要内容,如果未能解决你的问题,请参考以下文章
asp.net core 2.0 中的 WCF - 无法为具有权限的 SSL/TLS 安全通道建立信任关系
ASP.NET Core JWT 令牌无法通过 HttpClient 工作
Mediatr 无法解析 ASP.Net Core 中的 UserManager