2014-01-08 20 views
0

我有一個MVC 4應用程序,它顯示WebGrid中搜索結果的列表。結果頁面會正確顯示與搜索匹配的所有數據。如果我重新加載頁面我得到...刷新時MVC 4 WebGrid中的數據源未綁定錯誤。 TempData重置

"A data source must be bound before this operation can be performed." 

我不顯示的WebGrid是partialView,因爲我已經看到類似這樣與有關的局部視圖的問題。任何人都有一個想法,爲什麼刷新會導致數據丟失?

編輯:

這裏是我的結果頁面控制器方法。

public ActionResult Results() 
    { 
     var model = TempData["Results"] as List<iCap.Business.Complaint>; 

     return View(model); 
    } 

我注意到TempData [「Results」]在刷新時重置。無論如何要阻止這一點?

感謝一如既往,

回答

0

找到了答案,我的問題就在這裏:https://stackoverflow.com/a/11194300/2682614。 TempData會在刷新時重置,因此我現在正在使用seesion。

[HttpPost] 
    public ActionResult Index(SearchView search) 
    { 
     Session["Results"] = null; 
     var results = RCCADao.RCCASearch(search); 
     Session["results"] = results; 

     return RedirectToAction("Results"); 
    } 

    public ActionResult Results() 
    { 
     var model = Session["Results"] as List<iCap.Business.Complaint>; 

     return View(model); 
    } 

希望這可以幫助其他類似問題的人!

Rock