保存应用程序状态ASP.NET MVC中的项目列表?
问题描述:
我在知道如何从列表中保存项目时遇到了一些麻烦,我在Application.asax中的应用程序状态中存储了应用程序[“”]。保存应用程序状态ASP.NET MVC中的项目列表?
我的控制器基本上接受了一些用户输入,然后我把它传递给另一个类方法作为参数,它一直被添加到列表中。这些数据即将添加到列表中,我想存储它,但不使用数据库。通过使用Application State。 。我一直在实例化这个类并调用它的方法来返回项目列表,但我不认为应用程序状态正在保存它。
这是我到目前为止。 。
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
TimeLineInformation t = new TimeLineInformation();
IList<SWTimeEnvInfoDTO> g = t.getInfo();
Application["AppID"] = g;
}
^Global.asax中
IList<SWTimeEnvInfoDTO> result = new List<SWTimeEnvInfoDTO>();
public void returnTimeLineInfo(string SWrelease, string EnvName, DateTime SDate, DateTime EDate) {
SWTimeEnvInfoDTO myDTO = new SWTimeEnvInfoDTO();
myDTO.softwareReleaseName = SWrelease;
myDTO.environmentName = EnvName;
myDTO.StartDate = SDate;
myDTO.EndDate = EDate;
result.Add(myDTO);
getInfo();
}
public IList<SWTimeEnvInfoDTO> getInfo() {
return result;
}
^类即时调用
的SWTimeEnvInfoDTO类型对数据获取和设置方法。
我也从视图调用应用程序。它与字符串一起工作
应用[“AppID”] =“fgt”;
并显示这一次我从我的看法中读取它。
答
更新:你应该用铸造检索变量已保存在应用程序,并保存它,如果它已经改变了:
IList<SWTimeEnvInfoDTO> result = Application["AppID"] != null ? (IList<SWTimeEnvInfoDTO>)Application["AppID"] : new List<SWTimeEnvInfoDTO>(); // retrieve data
result.Add(...); // add some new items
Application["AppID"] = result; // save added values
谢谢,我还是debigging但其也不回我的新项目已将列表添加到应用程序状态以进行存储,它读取的初始值为空,但由于我添加了更多项目,所以没有任何结果。 。? – Calibre2010 2010-05-10 09:12:52
您应该1)从应用程序存储中提取当前值2)进行更改3)将更改后的值存储到应用程序存储 – 2010-05-10 09:57:21