Параметр строки запроса отсутствует при сбое проверки формы
У меня есть форма со следующим URL: CreateEntity?officeCodeId = 5
Когда я отправляю форму для проверки и если проверка не удалась, она возвращает только URL CreateEntity. Нет officeCodeId = 5.
если пользователь нажимает ввод по URL или F5 - мой сайт терпит неудачу - требуется пропущенный параметр officecodeId. Я могу сохранить его в сеансе или в другом хранилище. Но я хочу, чтобы это было в URL
Мой взгляд:
[HttpGet]
public virtual ActionResult CreateEntity(int? officeCodeId)
{
var model = new CreateViewModel();
FillViewModel(model, officeCodeId);
return View("Create", model);
}
[HttpPost]
protected virtual ActionResult CreateEntity(TEditViewModel model)
{
if (ModelState.IsValid)
{
//Do some model stuff if
}
return View("Create", model);
}
РЕДАКТИРОВАТЬ. Мой взгляд:}
using (Html.BeginForm("CreateEntity", "Employee", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.HiddenFor(x => x.OfficeCodeId)
@Html.LabelFor(model => model.FirstName, CommonRes.FirstNameCol)
@Html.TextBoxFor(model => model.FirstName, Model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
@Html.LabelFor(model => model.LastName, CommonRes.LastNameCol)
@Html.TextBoxFor(model => model.LastName, Model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
Редактировать 2. Добавление:
@using (Html.BeginForm("CreateEntity", "Employee", FormMethod.Post, new { officeCodeId = Model.OfficeCodeId, enctype = "multipart/form-data" }))
Не помогу. Это производит следующую форму:
Решение есть