我有以下场景:
我有一个编辑页面,可以从不同的页面调用。这些页面可以是当前实体的详细信息视图,也可以是实体的列表视图(在路线中搜索或不搜索)。
如何使用MVC框架干净利落地重定向到原始调用页面?当然,我可以通过将HttpContext.Request.Url值保存在我的TempData中来简单地传递它,但是在我的眼睛(或者,呃,鼻子)中有一种气味。它位于比其余代码更低的级别。
有没有办法在控制器上下文中获取上一页的route值?如果我有,我可以暂时存储它,并将其传递给重定向。
发布于 2009-02-02 14:10:36
从编辑页面Do not use TempData when not redirecting.一个AJAX请求,TempData就会消失。
Tomas认为隐藏元素或查询字符串参数是正确的。但一定要对提交的值进行清理。您不希望重定向web上的任何旧站点;您需要确保您重定向到的页面是站点的一部分。
发布于 2009-02-02 00:05:22
你总是可以有一个隐藏的表单元素,告诉控制器在发布表单时重定向到哪里。当使用get请求时,您可以以类似的方式使用querystring。这可能不是最好的解决方案,但它比信任that首选项或其他很容易被浏览器更改(或省略)的头文件要安全得多。
https://stackoverflow.com/questions/501860
复制相似问题