c# - 如何在我的 ASP.NET Core MVC 项目中引用 Microsoft.JQuery.Unobtrusive.Ajax

标签 c# .net visual-studio-2017 asp.net-core-mvc-2.0 unobtrusive-ajax

我正在尝试使用 Microsoft.JQuery.Unobtrusive.Ajax。我首先使用 NuGet 安装包,正如预期的那样,我能够在我的依赖项中看到它。

我的问题是我找不到引用脚本的方法,因此我无法在我的 View 中使用它。 Here我看到我应该将其添加到我的布局中:

<script src="~/lib/Microsoft.jQuery.Unobtrusive.Ajax/jquery.unobtrusive-ajax.min.js"></script>

但是那个路径没有文件:

enter image description here

这是我的 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-unobtrusivecdnjs 中不可用。然而。有几个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/

相关文章:

mysql - 为什么 Visual Studio 无法打开源文件 "mysql.h"?

c# - 如何更改项目的 .sln 文件的位置?

c# - 如何将一个 TXT 文件从 Assets 文件夹复制到 SD/内部存储 Android C# Xamarin

c# - 我在寻找哪种模式?

javascript - (类似甘特图)时间线可视化库? (JavaScript/JQuery 或 .NET)

c# - 数组总和中的 Windows 应用程序问题

c# - 未初始化变量的不正确编译器错误使用

c# - 使用 streamreader 处理异常时遇到问题

c# - 如何从一个逗号分隔的列表中填充两个单独的数组?

c# - Windows 8 商店应用程序 C++ 文件访问