Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
在asp.net MVC中,如何在页面重定向后保持页面状态?_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

在asp.net MVC中,如何在页面重定向后保持页面状态?

在asp.net MVC中,如何在页面重定向后保持页面状态?,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,我有一些搜索字段和一个gridview,如果我跳转到另一个页面,当它重定向到back时,所有的状态都不会持续,我可以创建一个搜索模型来保存数据并将其保存在会话中,但搜索将在某些页面中进行,并且字段不固定。有什么好办法可以解决这个问题吗?常规选项是将其存储在TempData中,以便在下一次请求时可用,或者将其存储在缓存中,或者重新加载它,或者将其存储在会话中以获得更长的持久性。这就是web在无状态下的工作方式,因此您需要找出其中一种通用方法。Cookie是非常有限的,所以在这种情况下我会排除它们

我有一些搜索字段和一个gridview,如果我跳转到另一个页面,当它重定向到back时,所有的状态都不会持续,我可以创建一个搜索模型来保存数据并将其保存在会话中,但搜索将在某些页面中进行,并且字段不固定。有什么好办法可以解决这个问题吗?

常规选项是将其存储在TempData中,以便在下一次请求时可用,或者将其存储在缓存中,或者重新加载它,或者将其存储在会话中以获得更长的持久性。这就是web在无状态下的工作方式,因此您需要找出其中一种通用方法。Cookie是非常有限的,所以在这种情况下我会排除它们

理想情况下,如果使用存储库模式加载数据,则在存储库方法中,可以通过当前用户的登录id将数据添加到缓存中,前提是数据对缓存有意义。如果您只希望它可用于下一个请求,请将其添加到 TempData[“YourData”]=yourObject


在下一个请求中阅读后,它将在请求处理结束时自动标记为删除。

我正在处理一个类似的问题,发现这很有帮助: