Asp.net mvc 如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图?
如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图 下面是页面上引导模式弹出窗口中的PartialView。 它有一个div,带有一个等待任何模型错误的验证taghelperAsp.net mvc 如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图?,asp.net-mvc,asp.net-core,bootstrap-modal,Asp.net Mvc,Asp.net Core,Bootstrap Modal,如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图 下面是页面上引导模式弹出窗口中的PartialView。 它有一个div,带有一个等待任何模型错误的验证taghelper @model CreateRoleViewModel <div class="panel panel-primary partialModalFormDivs"> @Html.Partial("_ModalHeader", new ModalHeader
@model CreateRoleViewModel
<div class="panel panel-primary partialModalFormDivs">
@Html.Partial("_ModalHeader",
new ModalHeader
{
Heading = "ADD ROLE",
glyphiconClass = "glyphicon glyphicon-random"
}
)
<div class="panel-body">
<div asp-validation-summary="All" class="text-danger"></div>
<form asp-action="CreateRole" method="post">
<div class="form-group">
<label asp-for="RoleName"></label>
<input asp-for="RoleName" class="form form-control" />
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Create</button>
<a asp-action="Index" class="btn btn-default">Cancel</a>
</div>
</form>
</div>
</div>
但随后整个页面被清除,返回的部分内容没有布局文件
如何将结果返回到模式弹出窗口。
我理解问题和当前的行为。但是还有其他人解决了这个问题吗?我认为您要做的是编写一篇ajax文章,然后返回部分视图并替换表单。表单应该位于容器div中,其id用于用ajaxpost结果替换其内容。为此,您需要包含一个脚本,该脚本将根据表单上的data-*属性自动连接ajax,如下所示
<div class="panel-body">
<div asp-validation-summary="All" class="text-danger"></div>
<div id="resultcontainer">
<form asp-action="CreateRole" method="post"
data-ajax="true"
data-ajax-method="POST"
data-ajax-mode="replace"
data-ajax-update="#resultcontainer"
>
<div class="form-group">
<label asp-for="RoleName"></label>
<input asp-for="RoleName" class="form form-control" />
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Create</button>
<a asp-action="Index" class="btn btn-default">Cancel</a>
</div>
</form>
</div>
</div>
不,那不行。如果成功,则应返回完整的索引页。如果有错误,我希望在索引页的模式弹出窗口中显示模型错误。它可以工作,但您需要将表单本身放在另一个从主视图引用的部分视图中,然后post方法仅返回该部分,而仅替换表单。模态内部的重定向只能与iframe一起工作,ajax解决方案可以工作,不需要iframe
return View("_CreateRole", createRoleViewModel);
<div class="panel-body">
<div asp-validation-summary="All" class="text-danger"></div>
<div id="resultcontainer">
<form asp-action="CreateRole" method="post"
data-ajax="true"
data-ajax-method="POST"
data-ajax-mode="replace"
data-ajax-update="#resultcontainer"
>
<div class="form-group">
<label asp-for="RoleName"></label>
<input asp-for="RoleName" class="form form-control" />
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Create</button>
<a asp-action="Index" class="btn btn-default">Cancel</a>
</div>
</form>
</div>
</div>
return PartialView(createRoleViewModel);