代码之家  ›  专栏  ›  技术社区  ›  THX-1138

ASP.NET MVC:创建环境值

  •  3
  • THX-1138  · 技术社区  · 15 年前

    我有一个简单的网站。几乎所有的行动 int toonId 作为一个参数(toonid并不等同于用户:一个用户可以拥有多个toon)。
    现在,我将该值提供给来自控制器的每个视图,并且每个链接和提交按钮都将该值发送回控制器。
    这是可行的。我只是在寻找一种更简单的方法来完成这一点(AOP浮现在我的脑海中)。

    我使用cookies来坚持“favorite/default-toon”,这很好(与actionalattribute一起使用,它从cookie中获取toonid,如果没有提供toonid,则传递到toonid参数)。但我也希望支持无cookie会话。

    问题 :什么是向页面添加环境变量而不显式传递的简单方法?这样它就可以与无cookie的浏览器一起工作。

    viewstate是一种方式吗(MVC中不应该有这种方式)?
    服务器端会话是一种方式吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   womp    15 年前

    这正是这次会议的目的所在。

    ASP.NET MVC中没有页面生命周期,因此没有视图状态。

        2
  •  0
  •   Jakob Christensen    15 年前

    我相信,如果您插入自己的 IRouteHandler . 不过我还没试过。我发现 an example 实施的 伊鲁特汉德勒 尽管它不显示如何实现查询字符串参数功能。

        3
  •  0
  •   Paul    15 年前

    我不清楚“toonid”代表什么。如果它是“每用户环境会话”,那么正如womp所说,会话状态对于这一点会很好地工作。但是,如果某个站点的范围更大(例如所有用户都可以访问的toonid集合),那么teh缓存将是一种更好、更可扩展的策略。