关于c#:模态对话框无重定向

Modal Dialog No Redirect

我使用C#MVC版本5.我在模式对话框中有一个表单,它使用局部视图。 我想提交表单而不是重定向。 我只想关闭对话框。 可以这样做吗?

这是我的代码:

1
2
3
4
5
6
7
8
9
10
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h5 class="modal-title">@title</h5>
       
        @using (Html.BeginForm("Edit","Region", FormMethod.Post, new { onsubmit ="return validateForm();", @class ="form-horizontal" }))
        {
           
                <button type="button" class="btn btn-link" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-success">Submit form</button>
           
        }

1
2
3
4
5
public ActionResult Edit(int id)
{
    RegionViewModels regionViewModels = MakeRegionViewModels(id);
    return PartialView("_InsertTaxRegion", regionViewModels);
}


您可以使用不带jQuery代码的Bootstrap模式执行此操作。

在我想要显示模态的页面上。 您的模态表单(PartialView)将显示在您已经在视图的顶部。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<button id="btn" type="button" class="btn btn-info btn-lg" data-toggle="modal" data-       target="#myModal">Open Modal</button>
 <!-- Modal -->

   
    <!-- Modal content-->
   
       
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Modal Header</h4>
       
       
            @Html.Partial("Modal");
       
       
            <button type="button" class="btn btn-default"
              data-dismiss="modal">Close</button>

您的模态显示在PartialView中...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@model NCR.Models.Employee
@{
    ViewBag.Title ="Edit";
}
Edit
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
   
   
       @Html.LabelFor(model => model.FIRST_NAME, htmlAttributes:
       new { @class ="control-label col-md-2" })
       
        @Html.EditorFor(model => model.FIRST_NAME,
        new { htmlAttributes = new { @class ="form-control" } })
        @Html.ValidationMessageFor(model => model.FIRST_NAME,"",
        new { @class ="text-danger" })
   


    @Html.LabelFor(model => model.LAST_NAME, htmlAttributes: new { @class ="control-label col-md-2" })
   
        @Html.EditorFor(model => model.LAST_NAME, new { htmlAttributes = new { @class ="form-control" } })
        @Html.ValidationMessageFor(model => model.LAST_NAME,"", new { @class ="text-danger" })
   


   
        <input type="submit" value="Update" class="btn btn-default" />

}


使用jQuery,您只需序列化表单数据并在后台将其发送到服务器,您就可以关闭模式,这是一个示例:
如何使用jquery $ .post()方法提交表单值

如果您使用而不是,那么您需要阻止您的表单提交如下:
使用JQuery - 阻止表单提交