【发布时间】:2011-02-14 19:16:09
【问题描述】:
我有一个网页,其中包含 ajax 模式的 Telerik 网格。网格的数据在用于为视图提供服务的控制器操作中构建,然后存储在会话中。 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 控制器将回传到 _EISelect 以填充其网格
// Ajax Actions for EditImage
[GridAction]
public ActionResult _EISelect()
{
var vmie = (VMImageEdit) Session["vmie"];
return View(new GridModel(vmie.Colours));
}
因此,如果我的会话对象为空,我该如何恢复 - 我想我需要来自原始 EditImage 调用的 productModelId 和 Revision 参数。它们是否以任何方式在 _EISelect 中可用 - 它已发布到,并且该帖子不包含任何有用的内容。
哦,让这可能更难,这个页面将通过内嵌框架显示。
【问题讨论】:
标签: asp.net asp.net-mvc session asp.net-mvc-3 telerik