如何在ASP.NET MVC Web应用程序中传递上下文

Kei*_*las 1 asp.net-mvc

好吧,我是ASP.NET网络应用程序的新手......以及一般的网络应用程序.我只是在为工作中的内部工具做一些游戏应用程序.

鉴于本教程......

http://www.asp.net/learn/mvc-videos/video-395.aspx

该示例基本上具有全局任务列表.

所以,如果我想做同样的事情,但现在我想维护项目的任务.所以我现在选择一个项目,然后获得该项目的任务列表.当我与任务交互时,如何保留我选择的项目的上下文?我会以某种方式将其编码到链接中吗?或者你把它保存在某种会话数据中?还是其他一些方式?

Tro*_*sen 5

因为听起来你有多个项目,每个项目都有很多任务,所以最好让项目在URL中设置.这需要一条路线,如"/projects/{project}/tasks".它遵循RESTful URL原则(即URL描述内容).

如果用户可能在多个浏览器窗口中打开了不同的项目,则使用会话状态将不起作用.假设我正在登录您的系统,并在两个选项卡中选择两个项目.首先,会话设置为第一个打开的选项卡的项目,但是第二个选项卡加载后,会话将被覆盖到此项目.如果我在第一个选项卡中执行任何操作,则会记录第二个项目.