J'ai un formulaire, qui peut être atteint à partir de 5 pages différentes. Le formulaire a enregistrer et terminer les boutons.MVC revenir à l'action différente précédente
Enregistrer le bouton - soumet le formulaire (fait la demande POST), puis recharge la même page (demande GET) Bouton Terminer - soumet les formulaires (demande POST) et doit aller à l'un des 5 emplacements à partir desquels le formulaire a été atteint.
J'ai essayé d'utiliser TempData et d'enregistrer l'emplacement sur la requête GET de formulaire, semble bien jusqu'à ce que j'utilise le bouton Enregistrer, car quand il recharge la page, l'URL TempData est la même URL (actuelle).
Je crois que jQuery a quelque chose comme window.history.back et ignore ces rechargements, mais est-ce possible, de le faire immédiatement sur le bouton submit et post, sans utiliser jQuery? Peut-être qu'il est possible de faire l'historique de la page précédente dans MVC Controller (je veux dire sauter les recharges et obtenir une première URL différente)? Toute aide est grandement appréciée.
Mais comment puis-je conserver cette URL "inchangée" d'original? quand je clique sur sauvegarder, ça rafraîchit la page et l'url précédente devient la même url de forme ... ou j'ai manqué une idée ici – GrandaS
Peut-être que je simplifie trop comment fonctionne votre application. Je ne vois pas l'intérêt de soumettre le formulaire en utilisant une requête POST, puis en actualisant la page avec une requête GET. Vous pouvez faire les deux avec une seule requête POST. Lorsque vous manipulez le formulaire, votre contrôleur peut récupérer l'URL d'origine du champ masqué et l'ajouter au nouveau formulaire de la page actualisée. –
Je me rends compte que puisque vous avez deux actions de soumission, vous devez utiliser javascript pour soumettre votre formulaire. Vous pouvez utiliser des boutons simples pour les actions "Enregistrer" et "Terminer". Lorsque vous cliquez sur le bouton, vous modifiez l'action du formulaire en utilisant $ ('# form'). Attr ('action', 'correspondanteUrl'); 'et soumettez ensuite le formulaire en utilisant $ ('# form'). Submit () ', de cette façon, vous ne devriez pas avoir à faire une deuxième requête pour actualiser la page. Si vous êtes attaché à cette deuxième requête, vous pouvez actualiser la page en utilisant 'window.location.href = 'form.html? Reference = origin.html'' au lieu de simplement rafraîchir la page. –