C# 提交后将ActionResult返回到模式弹出窗口
我有一个模式弹出窗口,但我想对它进行模型状态验证。问题是,如果存在模型状态错误,它将返回页面。如何将数据返回到弹出窗口,保持弹出窗口打开。以下是我到目前为止的情况:C# 提交后将ActionResult返回到模式弹出窗口,c#,asp.net-mvc,razor,bootstrap-modal,C#,Asp.net Mvc,Razor,Bootstrap Modal,我有一个模式弹出窗口,但我想对它进行模型状态验证。问题是,如果存在模型状态错误,它将返回页面。如何将数据返回到弹出窗口,保持弹出窗口打开。以下是我到目前为止的情况: [HttpPost] public ActionResult SaveProject( AddstuffViewModel model ) { if (!ModelState.IsValid) { return PartialView("_Addstuff", model); } } @
[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>
}
[HttpPost]
公共操作结果保存项目(AddstuffViewModel模型)
{
如果(!ModelState.IsValid)
{
返回PartialView(“\u Addstuff”,model);
}
}
@model Models.AddStuffViewModel
@使用(Ajax.begin)(
“保存项目”、“项目”,
新选择{
HttpMethod=“POST”,
},
新的{
id=“FormName”,
role=“form”}
))
{
添加内容
@LabelFor(m=>m.Stuffs.Name,新的{@class=“control label”})
@Html.TextBoxFor(m=>m.Stuffs.Name,新的{@class=“form control”,@id=“InputName”,@placeholder=“Stuffs Name”})
@Html.ValidationMessageFor(m=>m.Stuffs.Name,“,new{@class=“text danger”})
@LabelFor(m=>m.Stuffs.Description,新的{@class=“control label”})
@Html.TextBoxFor(m=>m.Stuffs.Description,新的{@class=“form control”,@id=“InputDescription”,@placeholder=“Description”})
@Html.ValidationMessageFor(m=>m.Stuffs.Description,“,new{@class=“text danger”})
@LabelFor(m=>m.Stuffs.Url,新的{@class=“control label”})
@Html.TextBoxFor(m=>m.Stuffs.Url,新的{@class=“form control”,@id=“InputUrl”,@placeholder=“Url”})
@Html.ValidationMessageFor(m=>m.Stuffs.Url,“,new{@class=“text danger”})
}
模态打开良好,所有数据都正确填充。我只想在SaveProject方法返回时将其打开。讨厌回答我自己的问题,但我有一个id-10-T错误
我最初包括jquery.validate.unobtrusive,而不是jquery.unobtrusive-ajax。我现在把这两个都包括进去了,效果很好。你试过把@Html.ValidationSummary(true)放在表单中吗?它不起作用,但谢谢。