Comment rediriger vers une action dans ASP.NET MVC sans perdre les données de la demande

En utilisant ASP.NET MVC, certaines situations (telles que la soumission de formulaires) peuvent nécessiter un RedirectToAction.

Par exemple, lorsque vous rencontrez des erreurs de validation après la soumission d'un formulaire et que vous devez rediriger vers le formulaire, mais que vous souhaitez que l'URL reflète l'URL du formulaire, et non la page d'action à laquelle il est soumis.

Comme j'ai besoin que le formulaire contienne les données d'origine POSTed, pour la commodité de l'utilisateur, ainsi qu'à des fins de validation, comment puis-je transmettre les données via le RedirectToAction() ? Si j'utilise le paramètre viewData, mes paramètres POST seront changés en paramètres GET.

请先 登录 后评论

1 réponses

Haacked

Gardez à l'esprit que TempData stocke la collection de formulaires en session. Si vous n'aimez pas ce comportement, vous pouvez implémenter la nouvelle interface ITempDataProvider et utiliser un autre mécanisme pour stocker les données temporaires. Je ne ferais pas cela à moins que vous sachiez avec certitude (via la mesure et le profilage) que l'utilisation de l'état de session vous nuit.

请先 登录 后评论
  • 8 abonnés
  • 0 favoris,320 Feuilleter
  • Matt Mitchell posée à 2023-03-03 12:16