Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC解析变量不带URL查询字符串 标题_C#_Asp.net Mvc_Query String - Fatal编程技术网

C# ASP.NET MVC解析变量不带URL查询字符串 标题

C# ASP.NET MVC解析变量不带URL查询字符串 标题,c#,asp.net-mvc,query-string,C#,Asp.net Mvc,Query String,我想将一些变量从一个页面传递到另一个页面,但我不希望它们出现在URL中。当我使用表单发布ActionResult时,效果很好。然而,当我这样做的时候 return RedirectToAction("Trackers",new{page = 1, orderby=desc}); 我得到了网址: 有没有什么方法可以让我获得下面的URL,但仍然“在幕后”传递页面和orderby变量 谢谢 当您使用RedirectToAction方法时,浏览器将从服务器接收http重定向响应,然后对新URL执行

我想将一些变量从一个页面传递到另一个页面,但我不希望它们出现在URL中。当我使用表单发布ActionResult时,效果很好。然而,当我这样做的时候

return RedirectToAction("Trackers",new{page = 1, orderby=desc});
我得到了网址:

有没有什么方法可以让我获得下面的URL,但仍然“在幕后”传递页面和orderby变量

谢谢
当您使用RedirectToAction方法时,浏览器将从服务器接收http重定向响应,然后对新URL执行GET请求。
我认为没有办法让浏览器在重定向时发出POST请求


此外,最好通过查询字符串传递这些变量,以便用户能够为页面添加书签。

您可以传递包含页码和orderby的模型对象,而不是匿名对象,并让视图继承所传递对象的模型类。然后,具有页码和orderby的模型对象将可供视图使用,而无需使用查询字符串


然而,这不是做这件事的首选方法。您的模型对象应该保留用于其预期用途,即将实际数据传递给视图。

我不确定按照您的建议执行是否是一个好主意,但是,您可以在重定向之前使用TempData(与ViewData相同的位置)保存信息。我相信在您下一次请求后,临时数据中的任何内容都会被清除。

嗨,HBoss,谢谢您的回复,这正是我想要的。我想要传递的变量是我不想让用户看到的,这也是我想要以不可见的方式传递它的原因。你的答案正是我想要的。我以前对TempData一无所知,但现在我知道了,再次感谢你们。