11

如果我在 .net 4.5 中开始一个新项目并点击管理 nuget 包,搜索 ajax,然后点击 install 让 ajax 不显眼。然后我可以进入我的cshtml文件并输入@Ajax.___ 例如@Ajax.beginForm

如果我用 Dot Net Core 创建一个新项目......我不能,而是它给了我一个无用的错误:

“当前上下文中不存在名称‘Ajax’”

我在网上搜索过,什么都没找到...

基本上我想用 Ajax 调用制作一个表单,就像你在 .net 中所做的那样

如:

" @using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" })) {"

有谁知道我还能尝试什么?

在上面,我可以看到 Ajax 是来自 System.web.mvc.webviewpage 的 AjaxHelper 类型的对象......所以也许它永远不会适用于 .net 核心

4

2 回答 2

16

虽然这些Ajax.BeginForm()方法不起作用,但实际不显眼的 Ajax html 可以。C# 方法只是帮助生成 Html 表单标签。请原谅我在这些语法中是错误的,这是记忆中的,但你明白了

@using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp" }))
{
    //form content
}

变成

<form asp-action="EmployeeMaster" asp-controller="Home" method="POST" data-ajax="true" data-ajax-update="divEmp">
    <!-- form content-->
</form>

注意:上面的 HTML 仍然需要不显眼的 ajax js 文件才能正确连接这些 data-* 属性。这不是 ASP.NET Core MVC 的一部分

于 2017-06-21T19:00:15.783 回答
0

OnSuccess 的等价物是什么

@using (Ajax.BeginForm("EmployeeMaster", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "divEmp", OnSuccess="ShowMessage" }))
{
    //form content
}
于 2020-04-17T00:06:43.843 回答