Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图?_Asp.net Mvc_Asp.net Core_Bootstrap Modal - Fatal编程技术网

Asp.net mvc 如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图?

Asp.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

如何从MVC Post操作重定向回Post来自的引导弹出模式部分视图

下面是页面上引导模式弹出窗口中的PartialView。 它有一个div,带有一个等待任何模型错误的验证taghelper

@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);