web-dev-qa-db-fra.com

ASP.NET Core et JQuery discrets AJAX ne fonctionne pas

Si je démarre un nouveau projet dans .net 4.5 et que je clique sur Gérer les paquets de nugets, je recherche ajax, puis je clique sur install pour ajax discret. Je peux ensuite aller dans mon fichier cshtml et taper @Ajax .___ par ex. @ Ajax.beginForm

Si je crée un nouveau projet avec Dot Net Core ... je ne peux pas, où à la place cela me donne l'erreur inutile:

"Le nom 'Ajax' n'existe pas dans le contexte actuel"

J'ai cherché sur le web, je n'ai rien trouvé ...

Fondamentalement, je veux créer un formulaire avec un appel Ajax comme vous pouvez le faire dans .net

Tel que:

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

Quelqu'un sait quoi d'autre je peux essayer?

Dans ce qui précède, je peux voir que Ajax est un objet de type AjaxHelper qui vient de System.web.mvc.webviewpage ... alors peut-être qu'il n'a jamais été conçu pour être disponible pour le noyau .net

10
David van Dugteren

Alors que les méthodes Ajax.BeginForm() ne fonctionnent pas, le vrai HTML Ajax discret le fait. Les méthodes C # aident simplement à générer les balises de formulaire Html. Pardonnez-moi dans cette syntaxe est erronée, c'est de la mémoire, mais vous avez l'idée

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

devient

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

REMARQUE: Le code HTML ci-dessus a toujours besoin des fichiers ajax js discrets pour câbler correctement ces attributs data- *. Cela ne fait pas partie d'ASP.NET Core MVC

13
Nick Albrecht

Quel est l'équivalent d'OnSuccess

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