У меня модальное всплывающее окно, но я хочу сделать проверку состояния модели на нем. Проблема в том, что если есть ошибка состояния модели, она возвращает страницу. Как вернуть данные во всплывающее окно, открыв всплывающее окно. Вот что у меня есть до сих пор:Возврат ActionResult для модального всплывающего окна после отправки
[HttpPost]
public ActionResult SaveProject(AddstuffViewModel model)
{
if (!ModelState.IsValid)
{
return PartialView("_Addstuff", model);
}
}
@model Models.AddStuffViewModel
@using (Ajax.BeginForm(
"SaveProject", "Projects",
new AjaxOptions {
HttpMethod = "POST",
},
new {
id = "FormName",
role = "form" }
))
{
<div class="panel-heading projectModal-heading">
<h4 class="panel-title">Add stuff </h4>
</div>
<div class="panel-body">
<p class="group">
<div class="form-group">
@Html.LabelFor(m => m. Stuffs.Name, new { @class = "control-label" })
@Html.TextBoxFor(m => m.Stuffs.Name, new { @class = "form-control", @id = "InputName", @placeholder = "Stuffs Name" })
@Html.ValidationMessageFor(m => m.Stuffs.Name, "", new { @class = "text-danger" })
</div>
<div class="form-group">
@Html.LabelFor(m => m.Stuffs.Description, new { @class = "control-label" })
@Html.TextBoxFor(m => m.Stuffs.Description, new { @class = "form-control", @id = "InputDescription", @placeholder = "Description" })
@Html.ValidationMessageFor(m => m.Stuffs.Description, "", new { @class = "text-danger" })
</div>
<div class="form-group">
@Html.LabelFor(m => m.Stuffs.Url, new { @class = "control-label" })
@Html.TextBoxFor(m => m.Stuffs.Url, new { @class = "form-control", @id = "InputUrl", @placeholder = "Url" })
@Html.ValidationMessageFor(m => m.Stuffs.Url, "", new { @class = "text-danger" })
</div>
</div>
</p>
</div>
<div class="panel-footer">
<input type="submit" value="stuff" class="btn btn-default" />
</div>
}
Модаль открывается нормально, и все данные заселяются правильно. Я просто хочу оставить его открытым, когда метод SaveProject вернется.
Вы пытались поместить @ Html.ValidationSummary (true) в форму? –
Это не сработало, но спасибо. –