ASP.NET MVC Как загрузить список только один раз
От: Lucio Россия  
Дата: 24.05.11 15:39
Оценка:
Здравствуйте.
Была такая проблемма: необходимо в пределенную область вывести из БД 10 рандомных записей (партнеров). С этим я справился. Но!
Как сделать так, чтобы список этих партнеров загружался ОДИН раз, непосредственно при загрузке страницы, а потом оставался неизменным, то есть несмотря по какой ссылке перейдет пользователь, этот спикок отображался в том же виде и заново не загружался из базы? Я пробовал делать через ViewBag и RenderAction, но все равно: при переходе по любой ссылке список постоянно меняется.
Модель:

public class Partner
{
   public int id { get; set; }
   public string name { get; set; }
   public string value { get; set; }
}

Контроллер:

    public class HomeController : Controller
    {
        MarketingEntities storeDB = new MarketingEntities();

        public ActionResult Index()
        {
            //ViewBag.Part = storeDB.partners.OrderBy(a => Guid.NewGuid()).Take(10);
            var query = storeDB.mainpage.First();
            return View(query);
        }

        public ActionResult GetPartnerList()
        {
            var query = storeDB.partners.OrderBy(a => Guid.NewGuid()).Take(10);
            return PartialView(query);
        }

        public ActionResult About()
        {
            var query = storeDB.contactpage.First();
            return View(query);
        }
...

Представление:

@model IEnumerable<Marketing.Models.Partner>

@foreach (var a in Model)
        { <li class="first"><a href="#">@a.name</a></li> }


_layout:

   <h3>Наши партнеры</h3>
    <div class="bg1">
      <ul>
        @{Html.RenderAction("GetPartnerList");}
      </ul>
    </div>
Nomina sunt odiosa
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.