所以我最近在.net MVC中启动了项目,并且一直在保留数据。我在某处读到,为了做到这一点,你必须来回传递模型。我试过这样做,但它仍然遇到问题。在我的项目中,我现在有两个按钮,getData和getData2。我的视图打印了它们的真/假值。当我按下一个时,它会变为真,但是如果我按下另一个,它会变为真,但另一个变为假。如果我同时按下它们,我希望它们都能保持真实。
控制器:
[HttpPost]
public ActionResult GetData(TestSite.Models.FarModels theFars)
{
theFars.HasData = true;
return RedirectToAction("FarCalc",theFars);
}
[HttpPost]
public ActionResult GetData2(TestSite.Models.FarModels theFars)
{
theFars.HasData2 = true;
return RedirectToAction("FarCalc", theFars);
}
[HttpGet]
public ActionResult FarCalc(TestSite.Models.FarModels theFars)
{
return View(theFars);
}
查看:
@using (Html.BeginForm("GetData", "Home", FormMethod.Post))
{
//@Html.TextBoxFor(model => model.FarValue)
<input type="submit" value="GetData" />
}
@using (Html.BeginForm("GetData2", "Home", FormMethod.Post))
{
//@Html.TextBoxFor(model => model.FarValue)
<input type="submit" value="GetData2" />
}
@Model.HasData
@Model.HasData2
由于
答案 0 :(得分:0)
您需要使用TempData对象,因为使用RedirectToAction会返回状态代码302,并且模型绑定不存在。下面是一个很好的例子。
https://www.codeproject.com/Tips/842080/How-to-Persist-Data-with-TempData-in-MVC