核心 MVC - Ajax 不显眼不存在
Core MVC - Ajax unobtrusive does not exist
在我的 Core MVC 2.2 项目中,我通过 Nuget 包添加了 jQuery Unobtrusive Ajax (v: 3.2.6)。首先我注意到 wwwroot/lib 中没有为其添加本地文件夹,如果尝试一些简单的操作,例如:
@using (Ajax.BeginForm( ...
我得到一个错误:CS0103 名称 'Ajax' 在当前上下文中不存在
请告知如何解决此问题。
您可以从 npm 获取 Unobtrusive AJAX(npm i jquery-ajax-unobtrusive
从 Visual Studio 中的包管理器控制台),或者您可以使用 Visual Studio 的多种方式之一提供从 Nuget 安装它。拥有它后,您可以在 wwwroot\lib
中为其创建一个新文件夹并将文件复制到那里,然后 link 将文件复制到您的 _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
另一点是标记 @using (Ajax.BeginForm( ...
在 .Net Core 中不受支持。相反 ASP.NET 核心团队推荐 data-*
属性。所有现有 @Ajax.Form
属性都可用作 data-*
属性:
<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST">
</form>
对于 MVC,您可以单击 here for code sample . And here 是 Razor Pages 版本的代码示例。
在 windows 中通过 NuGet 包管理器安装包会将它们安装到您计算机上的 .nuget 位置。在 unobtrusive-ajax 的情况下,这应该类似于 %userprofile%.nuget\packages\microsoft.jquery.unobtrusive.ajax
然后可以将此文件夹复制到 wwwroot\lib,如 Nan Yu 的回答中所指定。
在我的 Core MVC 2.2 项目中,我通过 Nuget 包添加了 jQuery Unobtrusive Ajax (v: 3.2.6)。首先我注意到 wwwroot/lib 中没有为其添加本地文件夹,如果尝试一些简单的操作,例如:
@using (Ajax.BeginForm( ...
我得到一个错误:CS0103 名称 'Ajax' 在当前上下文中不存在
请告知如何解决此问题。
您可以从 npm 获取 Unobtrusive AJAX(npm i jquery-ajax-unobtrusive
从 Visual Studio 中的包管理器控制台),或者您可以使用 Visual Studio 的多种方式之一提供从 Nuget 安装它。拥有它后,您可以在 wwwroot\lib
中为其创建一个新文件夹并将文件复制到那里,然后 link 将文件复制到您的 _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
另一点是标记 @using (Ajax.BeginForm( ...
在 .Net Core 中不受支持。相反 ASP.NET 核心团队推荐 data-*
属性。所有现有 @Ajax.Form
属性都可用作 data-*
属性:
<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST">
</form>
对于 MVC,您可以单击 here for code sample . And here 是 Razor Pages 版本的代码示例。
在 windows 中通过 NuGet 包管理器安装包会将它们安装到您计算机上的 .nuget 位置。在 unobtrusive-ajax 的情况下,这应该类似于 %userprofile%.nuget\packages\microsoft.jquery.unobtrusive.ajax
然后可以将此文件夹复制到 wwwroot\lib,如 Nan Yu 的回答中所指定。