Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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 MVC:创建环境值_Asp.net Mvc_Session_Viewstate - Fatal编程技术网

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集合),那么缓存将是一种更好、更可扩展的策略