Asp.net mvc ASP.NET MVC:创建环境值
我有一个简单的网站。几乎每个操作都将Asp.net mvc ASP.NET MVC:创建环境值,asp.net-mvc,session,viewstate,Asp.net Mvc,Session,Viewstate,我有一个简单的网站。几乎每个操作都将int-toonId作为参数(toonId并不等同于用户:一个用户可以拥有多个toon)。 此时,我将该值提供给来自控制器的每个视图,每个链接和提交按钮将该值发送回控制器。 这很有效。我只是在寻找一种更简单的方法来实现这一点(我想到了AOP) 我使用cookies来持久化“favorite/default toon”,这很好(与ActionAttribute一起使用,它从cookie中获取toonId并将其传递给toonId参数,如果没有提供toonId)。但
int-toonId
作为参数(toonId并不等同于用户:一个用户可以拥有多个toon)。此时,我将该值提供给来自控制器的每个视图,每个链接和提交按钮将该值发送回控制器。
这很有效。我只是在寻找一种更简单的方法来实现这一点(我想到了AOP) 我使用cookies来持久化“favorite/default toon”,这很好(与ActionAttribute一起使用,它从cookie中获取toonId并将其传递给toonId参数,如果没有提供toonId)。但我也想支持无cookie会话 问题:向页面添加环境变量而不显式传递它的简单方法是什么?这样它就可以与无cookie浏览器一起工作 Viewstate是否是一条出路(MVC中不应包含的)
服务器端会话是一种方式吗?这正是会话的目的
asp.net mvc中没有页面生命周期,因此没有viewstate。我相信,如果插入自己的
IRouteHandler
实现,您可以为使用无cookie浏览器自动传递查询字符串参数。不过我还没有试过。我找到了实现IRouteHandler
,尽管它没有显示如何实现查询字符串参数功能。我不清楚“toonid”代表什么。若它是“每用户环境会话”,那个么正如womp所述,会话状态将很好地适用于此。但是,如果它的范围更大(例如,所有用户都可以访问的toonids集合),那么缓存将是一种更好、更可扩展的策略