gpt4 book ai didi

asp.net-mvc - ASP.NET MVC - TempData - 好的或坏的实践

转载 作者:行者123 更新时间:2023-12-03 04:55:44 28 4
gpt4 key购买 nike

我正在使用 Scott Gu 的 Preview 5 博客文章中详细介绍的 AcceptVerbs 方法来处理 ASP.NET MVC 中的表单条目:

  • 用户通过 GET 获取空表单
  • 用户通过 POST 将填写的表单发布到同一操作
  • 操作验证数据、采取适当的操作并重定向到新 View

所以我不必使用TempData。也就是说,我现在必须为此过程添加一个“确认”步骤,并且似乎需要使用 TempData

出于某种原因,我厌恶使用 TempData ——因为它是需要围绕它进行设计的东西。

这是一个合理的担忧,还是我编造的?

最佳答案

无需厌恶 TempData...但如果使用不当,它肯定会表明设计不佳。如果您使用 RESTful URL,则 TempData 是将消息从 POST 操作传输到 GET 操作的最佳实践。考虑一下:

您在 URL Products/New 处有一个表单。表单发布到 Products/Create,验证表单并创建产品,成功时 Controller 重定向到 URL Products/1,出错时将重定向回 products/New 以显示错误消息。

Products/1 只是产品的标准 GET 操作,但我们希望显示一条消息,指示插入成功。 TempData 非常适合此目的。将消息添加到 Post Controller 中的 TempData,并在 View 中添加一些 if 逻辑,然后就完成了。

失败时,我一直在将 formCollection 中输入的值和错误消息集合添加到 Post Action 中的 TempData,并重定向到初始 Action Prodcuts/New。我已向 View 添加逻辑,以使用之前输入的值以及任何错误消息来填充表单输入。对我来说看起来又漂亮又干净!

关于asp.net-mvc - ASP.NET MVC - TempData - 好的或坏的实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/386681/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com