在视图中存储对象以在MVC 3中保持状态持久性的最佳方法?

Che*_*hev 6 .net c# asp.net asp.net-mvc asp.net-mvc-3

我正在使用ASP.NET MVC 3,我需要在请求之间维护一个C#对象.它维护一些服务器端状态信息,这对于这个问题并不重要.目前,此对象被序列化为会话,然后在每个请求时被拉出.

这种方法的问题是该对象特定于会话,但我希望它特定于每个请求.因此,在浏览器中打开第二个选项卡基本上会有自己的对象,而不是与第一个选项卡共享同一个对象,因为它是同一个会话.

所以显然我需要将这个对象存储在页面上并将其与请求一起传回.我想知道最好的方法是什么.客户端不需要此对象中的信息,并且此对象中的数据不是敏感数据,因此我不打算阻止访问者查看它.我只是想知道在请求之间存储此对象的最佳方法是什么.是否有一种简单的方法可以将C#对象序列化到视图中,比如在隐藏字段(类似于Web窗体viewstate)中,然后在每个请求中将其取回?

Otá*_*cio 3

您可以使用 Futures 项目中的 Html.Serialize。您可以通过Install-Package Mvc3Futures获取它