我很难理解mvc的无状态问题。 假设我有一个包含人员列表的屏幕。我想选择其中一个,一旦我选择这个人我想保留他的ID,从我的左侧菜单我想打开一个屏幕与他的订单,一个屏幕与他的帐户详细信息.... 在ASPX中,我只会将他的PersonID保留在会话中,并在整个网站上使用它。 我怎样才能在mvc中做同样的事情?如果我将他的id保存在公共静态类的公共变量中怎么办?它会起作用吗?
感谢。
答案 0 :(得分:1)
使用会话,就像在ASPX中一样。
对于具有静态PersonID
属性的静态类,它将由所有用户共享...
这意味着每次设置值时,所有用户都将获得相同的值:不完全是您想要的,是吗?
因此,Web Forms模型基本上抽象了许多功能 为Web开发人员提供模拟状态模型。结果是, 你不必是一个拥有大量HTML和JavaScript的网络专家 知识编写有效的Web应用程序。
通过Web模拟ASP.NET Web窗体的状态编程 介绍了viewstate,postbacks和整体等功能 事件驱动的范例。
答案 1 :(得分:1)
它不是无状态的MVC,它的HTTP。 ASP.NET和其他Web技术中的解决方法是服务器端会话状态,并且某种类型的无状态http请求从一个客户端关联到一个服务器端会话对象(通常使用cookie)。
所以只需使用Session
或TempData
属性。