восстановление из отсутствующего состояния сеанса в ASP.NET MVC с Telerik Ajax - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть веб-страница, которая включает в себя сетку Telerik в режиме AJAX. Данные для сетки создаются в действии контроллера, используемом для обслуживания представления, а затем сохраняются в сеансе. 90% времени доступно для метода ajax, используемого для заполнения сетки. И иногда его нет, что странно. Какое-то состояние гонки?

   public ActionResult EditImage(int productModelId, int revision)
    {
        ViewBag.Current = "Edit";
        //Unit of work and repo generation removed from brevity
        var modelToEdit = prodModelRepo.Where(p => p.ProductModelID == productModelId && p.Revision == revision).FirstOrDefault();
        var vmie = new VMImageEdit(modelToEdit)
                       {
                          //init some other stuff
                       };
        Session["vmie"] = vmie;
        return View(vmie);
    }

Теперь telerik contorol отправит сообщение обратно в _EISelect, чтобы заполнить его сетку

  // Ajax Actions for EditImage
    [GridAction]
    public ActionResult _EISelect()
    {
        var vmie = (VMImageEdit) Session["vmie"];
        return View(new GridModel(vmie.Colours));
    }

Так что, если мой объект сеанса пуст, как я могу восстановить - я думаю, мне нужны параметры productModelId и Revision из исходного вызова EditImage. Доступны ли они в _EISelect каким-либо образом - он опубликован, а в сообщении нет ничего полезного.

О, чтобы сделать это возможно сложнее, эта страница будет отображаться через встроенную рамку.

1 Ответ

0 голосов
/ 15 февраля 2011

Ответ лежит в привязке данных telerik ajax - это можно использовать для передачи произвольных данных в строку запроса

.Select("_EISelect", "AdminProduct", new { productModelId = Model.ProductModelId, revision = Model.Revision})

, которые можно восстановить в _EISelect в качестве параметров.Simples.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...