ASP.NET Core and JQuery unobtrusive AJAX not working

时光毁灭记忆、已成空白 提交于 2019-12-03 12:34:47

问题


If I start a new project in .net 4.5 and hit manage nuget packages, search for ajax, then hit install for ajax unobtrusive. I can then go into my cshtml file and type @Ajax.___ e.g. @Ajax.beginForm

If I create a new project with Dot Net Core... I cannot, where instead it gives me the useless error:

"The name 'Ajax' does not exist in the current context"

I've searched the web, found nothing...

Basically I want to make a Form with an Ajax call as you could do in .net

Such as:

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

Anyone know what else I can try?

In the above, I can see that Ajax is a object of type AjaxHelper which comes from System.web.mvc.webviewpage... so maybe its never meant to be available for .net core


回答1:


While the Ajax.BeginForm() methods do not work, the actual unobtrusive Ajax html does. The C# methods just help generate the Html form tags. Forgive me in thse syntax is wrong, this is from memory, but you get the idea

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

becomes

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

NOTE: The above HTML STILL needs the unobtrusive ajax js files for it to wire up these data-* attributes correctly. This is not a part of ASP.NET Core MVC



来源:https://stackoverflow.com/questions/44666553/asp-net-core-and-jquery-unobtrusive-ajax-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!