标题
我希望将一些变量从一个页面传递到另一个页面,但我不希望它们出现在URL中。当我使用表单发布ActionResult时,它工作得很好。但是,当我这样做的时候
return RedirectToAction("Trackers",new{page = 1, orderby=desc});我得到了URL:
http://examplesite.com/Trackers?page=1&orderby=desc
有没有什么办法可以让我在获得以下URL的同时仍然“在幕后”传递页面和orderby变量?
http://examplesite.com/Trackers
谢谢TheLorax
发布于 2009-06-14 03:51:27
我不确定这样做是不是一个好主意,但是,在重定向之前,您可以使用TempData (与ViewData相同的位置)来保存您的信息。我相信在您下一次请求后,临时数据中的所有内容都会被清除。
发布于 2009-06-14 03:33:39
您可以传递一个包含页码和orderby的Model对象,而不是一个匿名对象,并让您的视图继承正在传递的对象的模型类。然后,具有页码和orderby的模型对象将对视图可用,而无需使用查询字符串
然而,这并不是做这件事的首选方法。您的模型对象应保留用于其预期用途,即将实际数据传递给您的视图。
发布于 2009-06-14 03:20:44
当您使用RedirectToAction方法时,浏览器将从服务器接收http重定向响应,然后向新的URL发出GET请求。
我认为没有办法让浏览器在重定向时发出POST请求。
此外,最好通过查询字符串传递这些变量,以便用户能够为页面添加书签。
https://stackoverflow.com/questions/992048
复制相似问题