[英]ASP.NET MVC parsing variables wihout URL query string
我想将一些变量从一页传递到另一页,但我不希望它们出现在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
我不确定执行建议的操作是否是一个好主意,但是,您可以在重定向之前使用TempData(与ViewData相同的位置)保存信息。 我相信在您的下一个请求之后,临时数据中的所有内容都会被清除。
您可以传递一个包含页码和orderby的Model对象,而不是一个匿名对象,并让您的视图继承所传递的对象的模型类。 然后,具有页码和orderby的模型对象可用于视图,而无需使用查询字符串
但是,这不是执行此操作的首选方法。 您应该保留模型对象用于其预期目的,即将实际数据传递到视图。
当您使用RedirectToAction方法时,浏览器将从服务器接收到http重定向响应,然后将对新URL进行GET请求。
我认为没有办法使浏览器在重定向时发出POST请求。
同样,最好通过查询字符串传递这些变量,以使用户能够为页面添加书签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.