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)放在表单中吗?它不起作用,但谢谢。