ASP.NET MVC:在执行控制器方法后清除TempData

Jon*_*ger 6 asp.net-mvc

根据我的阅读,放入TempData的信息将用于当前请求和下一个请求(以便您可以跨重定向传递信息).问题是,如果我浏览到不重定向的控制器操作,TempData中的信息仍将存在于下一个请求中.我正在使用TempData存储显示给用户的信息性消息,所以现在我也在第二个屏幕上获得第一个屏幕的消息.

在控制器生命周期中是否有足够的时间在TempData不再使用时清除它?

Cra*_*ntz 7

如果不重定向,请使用ViewData而不是TempData.您永远不需要手动清除TempData.如果您只在重定向时使用它,它将在您正确的时间自动清除.