Я довольно новичок в MVC, и у меня возникли проблемы с сохраняющимися значениями на странице POST. Ниже приведен упрощенный вариант того, что я пытаюсь сделать. В основном у меня есть форма, где я показываю имя пользователя и другие данные. В POST ActionResult, если бизнес-правила не работают, страница должна вернуться к текущему виду, иначе будет продолжаться, но на моем POST имя и адрес, которые я установил в GET, не отображаются в POST для модели представления, в результате чего отправляются нулевые значения назад в обратном представлении (модель). Существуют ли способы сохранения значений без возврата их в базу данных для их извлечения?MVC ViewModel null значения в POST
Модель
public class HomeModel
{
public string Forename { get; set; }
public string Surname { get; set; }
public string AddressLine1 { get; set; }
public bool Continue { get; set; }
}
Контроллер
[HttpGet]
public ActionResult Index()
{
var model = new HomeModel();
model.Forename = "Joe";
model.Surname = "Boe";
model.AddressLine1 = "Unknown";
return View(model);
}
[HttpPost]
public ActionResult Index(HomeModel homeModel)
{
if (homeModel.Continue)
return RedirectToAction("Index", "Form2");
else
return View(homeModel);
}
Посмотреть
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Forename, Model.Forename)<br />
@Html.LabelFor(m => m.Surname, Model.Surname)<br />
@Html.LabelFor(m => m.AddressLine1, Model.AddressLine1)<br /><br />
@Html.CheckBoxFor(m => m.Continue)<br /><br />
<input type="submit" value="Click" />
}
Я думаю, что идея кэширования может быть маршрутом, который я возьму. – Dev118