我有一个我从锚中调用的动作,Site/Controller/Action/ID其中ID是一个int.
稍后我需要从Controller重定向到同一个Action.
有一个聪明的方法来做到这一点?目前我正在ID使用tempdata,但是当你回到f5后再次刷新页面时,tempdata就会消失,页面崩溃了.
我有一个控制器,可以处理三个特定于我的问题的操作.
第一个是编辑操作,它返回一个HTML表单的视图,用户可以编辑给定项目的属性.
第二个是更新操作,它接受从浏览器返回的帖子并更新数据库.更新成功后,我们会重定向到操作.
第三个是show动作,显示给定项目的详细信息.此操作是我们在成功更新后重定向到的位置.
流程是:
显示 - >编辑 - >更新(成功:y - >重定向到显示,n - >返回编辑)
我想要实现的是在更新成功时触发标记,以便在下一个Show视图中我可以为用户显示确认消息.问题是我不能100%确定通过RedirectToAction()调用传输数据的最佳方法.有人以为我在使用查询字符串?我们已经在查询字符串中携带变量用于其他目的,但我的一部分对滥用它持怀疑态度.对重定向的调用如下.
RouteValueDictionary dict = Foo.GetRouteValues(bar);
RedirectToAction("Show", dict);
Run Code Online (Sandbox Code Playgroud)
我也读过这个问题,但是如果我没有这个问题,我对使用TempData属性感到很自豪.
谢谢你的一些建议!