在我的Core MVC 2.2项目中,我通过Nuget软件包添加了jQuery Unobtrusive Ajax(v:3.2.6)。我首先注意到,在wwwroot / lib中没有为其添加本地文件夹,也可以尝试以下简单方法:
@using (Ajax.BeginForm( ...
我收到错误消息:CS0103当前上下文中不存在名称'Ajax'
请告知如何解决此问题。
答案 0 :(得分:1)
您可以从npm(从Visual Studio的Package Manager控制台中{npm i jquery-ajax-unobtrusive
)获得Unobtrusive AJAX,或者可以使用Visual Studio提供的多种方式之一从Nuget安装它。拥有文件之后,您可以在wwwroot\lib
中为其创建一个新文件夹,然后在其中复制文件,然后在_layout
页面中链接该文件。
您还可以使用LibMan,它将管理您的客户端库并将库自动安装到默认为wwwroot\lib\YourLibrary
的目标位置,您可以使用GUI或LibMan cli。安装Libman cli:
dotnet tool install --global Microsoft.Web.LibraryManager.Cli
要在npm上安装jquery-ajax-unobtrusive
,因为尚未在cdnjs
上安装,我们可以使用unpkg
提供程序并使用默认位置:
libman install -p unpkg jquery-ajax-unobtrusive
另一点是.Net Core中的标记@using (Ajax.BeginForm( ...
不受支持。相反,ASP.NET Core团队建议使用data-*
属性。所有现有的@Ajax.Form
属性都可以用作data-*
属性:
<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST">
</form>
答案 1 :(得分:1)
在Windows中通过NuGet软件包管理器安装软件包会将其安装到计算机上的.nuget位置。对于非干扰性的ajax,应该类似于%userprofile%.nuget \ packages \ microsoft.jquery.unobtrusive.ajax
然后可以按照Nan Yu的答案中的说明将此文件夹复制到wwwroot \ lib。