我正在尝试使用 Microsoft.JQuery.Unobtrusive.Ajax
。我首先使用 NuGet 安装包,正如预期的那样,我能够在我的依赖项中看到它。
我的问题是我找不到引用脚本的方法,因此我无法在我的 View 中使用它。 Here我看到我应该将其添加到我的布局中:
<script src="~/lib/Microsoft.jQuery.Unobtrusive.Ajax/jquery.unobtrusive-ajax.min.js"></script>
但是那个路径没有文件:
这是我的 Controller Action :
[HttpPost]
public IActionResult OrderItem([Bind("Id,Quantity")] Item item)
{
return Json(new { foo= item.Id, boo= item.Quantity});
}
形式:
<form asp-action="OrderItem" asp-controller="Menu" method="POST" data-ajax="true" data-ajax-update="#divEmp" data-ajax-mode="replace" data-ajax-complete="onComplete" data-ajax-failure="onFailed" data-ajax-success="onSuccess">
<input asp-for="@i.Id" value="@i.Id" type="hidden" name="Id" />
<input asp-for="@i.Quantity" value="@i.Quantity" type="number" name="Quantity" class="form-group" />
<button class="btn btn-primary" type="submit">Add to Order</button>
</form>
我从 Controller 返回一个 JSON,但我被重定向到显示 JSON 数据的页面。我的目标是使用 JSON 对象中的数据更新同一 View 中的组件。
最佳答案
Bower 已弃用,新项目应使用 Libman。但是,jquery-ajax-unobtrusive
在 cdnjs 中不可用。然而。有几个requests to add it ,所以请随意对它们进行投票。同时,您可以使用 unpkg
添加它。 Libman 的 GUI 当前不显示它,因此您必须手动将它添加到 libman.json 文件中:
{
"provider": "unpkg",
"library": "jquery-ajax-unobtrusive@3.2.6",
"destination": "wwwroot/lib/jquery-ajax-unobtrusive/",
"files": [ "dist/jquery.unobtrusive-ajax.js", "dist/jquery.unobtrusive-ajax.min.js" ]
}
如果要获取库中的所有文件,请删除最后一行,但这两个 JavaScript 文件就足够了。
目前,最新版本托管于Microsoft's CDN是 3.2.5。如果您想要 3.2.6 版本,目前唯一托管它的 CDN 是 jsdelivr.com :
<script
src="https://cdn.jsdelivr.net/npm/jquery-ajax-unobtrusive@3.2.6/dist/jquery.unobtrusive-ajax.min.js"
integrity="sha256-PAC000yuHt78nszJ2RO0OiDMu/uLzPLRlYTk8J3AO10="
crossorigin="anonymous"></script>
关于c# - 如何在我的 ASP.NET Core MVC 项目中引用 Microsoft.JQuery.Unobtrusive.Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48848181/