Сохранить данные в 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

Я должен быть в состоянии выяснить, куда идти оттуда. Любые идеи?

10.11.2009 20:38:03
какие данные вы пытаетесь сохранить, чего вы пытаетесь достичь, сохраняя их и что вы пробовали до сих пор?
Nick Larsen 10.11.2009 20:42:24
Около 20 или около того fielsd должны быть сохранены. Я не склонен использовать сессии, к чему я привык как новичок. Я узнаю об операторе [Сериализуемый]. У меня есть [Serializable] проверка в модели и я пытался сохранить таким образом. Я полностью в темноте с этим ...
MrM 10.11.2009 20:46:39
Почему вы не хотите получить его из базы данных? По моему опыту, хранение его в двух местах добавляет больше сложности. С другой стороны, если вы просто ищете более быструю визуализацию страниц, почему бы не кэшировать вывод с помощью средств кэширования, встроенных в ASP.NET MVC?
Jeff Siver 10.11.2009 20:53:55
Кажется , кэширование путь ... Я сделаю Reasearch и посмотреть , что я придумал
MrM 10.11.2009 21:19:27
2 ОТВЕТА
РЕШЕНИЕ

Предполагая, что я правильно понял ваш вопрос:

Вы можете кэшировать элемент. Присвойте уникальный ключ объекту кэша (Cache ["uniquekey"]), затем передайте этот уникальный ключ другому действию.

Пусть ваши действия найдут этот объект из кэша и отправят его в качестве модели.

Вот статья о кешировании от 4-х парней из Rolla, а также официальное обучающее видео по кэшированию в ASP.NET .

Примечание. Обязательно укажите дату окончания срока действия для кэшируемого объекта.

2
5.12.2011 09:15:18
Или блок кэширования приложений для большего контроля: msdn.microsoft.com/en-us/library/dd203226.aspx
Ryan Emerle 10.11.2009 21:03:48

Если это два действия на одном контроллере, и вы по сути отправляете модель обратно в контроллер при отправке (что является лишь предположением того, что вы можете делать), то вы можете использовать метод сбора значений формы и метод 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 тоже, и в большинстве случаев я борюсь с входами и выходами данных, есть кое-что, что мне не хватает в архитектуре.

Глава Скотта Гу очень полезна в выяснении некоторых из них.

0
5.12.2011 05:37:19