我創建了一個頁面,用戶可以從隨機問題中選擇一個答案。我應該在asp.net MVC中存儲我的臨時視圖模型?
控制器包含
public class TestController : Controller
{
private DBDataContext _context;
private HomeViewModel _model;
public TestController()
{
_context = new DBDataContext();
_model = new HomeViewModel();
}
// GET: Test
[Route("test-online")]
public ActionResult Index()
{
_model = new HomeViewModel()
{
Categories = _context.Categories.Select(x => x.ToCategories()).ToList(),
QuestionModel = new List<QuestionModel>()
};
ViewData.Model = _model;
return View(_model);
}
[HttpPost]
public void Go(Test t)
{
_model = (HomeViewModel)ViewData.Model;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (_context != null)
{
_context.Dispose();
_context = null;
}
}
base.Dispose(disposing);
}
}
而問題是我應該在哪裏存儲我的_model
?
當用戶選擇執行一個ajax後到Go
方法, 可惜ViewData.Model
現在null
我怎麼能解決這個問題的答案嗎? 我試過ViewBag
和ViewData
,因爲我不想使用公共靜態屬性。
我應該問什麼與應用程序池重置的數據發生? – OrElse
對於應用程序池重置的情況下,我會建議更改會話狀態模式。參考:https://msdn.microsoft.com/en-us/library/ms178586(v=vs.140).aspx – hasan