在MVC中保存数据

时间:2009-11-10 20:38:04

标签: c# .net asp.net asp.net-mvc

这个解决方案整天都在回避我。我从我的数据库获取数据,但我想将数据保存在某个地方,而不是每个页面都进入数据库。我该怎么做?

我从控制器中检索数据......

public ActionResult Inquiry(string Num, DateTime Date)
{  ...
   Bill myBill = new Bill(Num, Date, myConnections);      
   //This is where I am trying to store my data...      
   return View("Inquiry", myBill);
}

然后在我的查询页面上......

public ActionResult Summary(string Num, DateTime Date)
{  ...
   Bill myBill = new Bill(Num, Date, myConnections);      
   //... Data get retrieved here :(      
   return View("Summary", myBill);
}

足以让数据远离存储在会话中。是否可以保存到Model forlder并在aspx页面上使用继承?

我是编程领域的一个年轻人,更糟糕的是.NET MVC

我应该能够找出从那里去的地方。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

假设我正确地理解了你的问题:

您可以缓存该项目。将唯一键分配给缓存对象(Cache [“uniquekey”]),然后将该唯一键传递给其他操作。

让您的操作从缓存中查找该对象并将其作为模型发送。

以下是来自Rolla的4个人的article about caching,而here is an official ASP.NET learning video是关于缓存的。{/ p>

注意:请确保在缓存的对象上指定过期日期。

答案 1 :(得分:0)

如果这些是同一控制器上的两个动作,并且您实际上是在提交时将模型发布回控制器(这只是猜测您可能正在做什么),那么您可以使用表单值集合和updateModel方法,甚至使用像这样的强类型动作(ish):

public ActionResult Inquiry(string Num, DateTime Date)
{  ...
   Bill myBill = new Bill(Num, Date, myConnections);      
   //This is where I am trying to store my data...      
   return View("Inquiry", myBill);
}

public ActionResult Summary(Bill bill)
{     
   //... do stuff
   return View("Summary", bill);
}

通过这种方式,您可以从自然资源中获取信息;收到的账单。您可以对此进行处理,保存,更改它,将其丢弃到另一个模型中,然后将其转储回视图,而不必重新加载它。

我也是aspnet mvc的新手,而且大多数时候我都在努力解决数据问题,有些东西我缺少架构方面的知识。

Scott Gu的nerddinner章节非常有助于解决其中的一些问题。