模态对话框无重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模态对话框无重定向相关的知识,希望对你有一定的参考价值。
我使用C#MVC版本5.我在模式对话框中有一个表单,它使用局部视图。我想提交表单而不是重定向。我只想关闭对话框。可以这样做吗?
这是我的代码:
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-success">
<button type="button" class="close" data-dismiss="modal">×</button>
<h5 class="modal-title">@title</h5>
</div>
@using (html.BeginForm("Edit", "Region", FormMethod.Post, new { onsubmit = "return validateForm();", @class = "form-horizontal" }))
{
<div class="modal-footer">
<button type="button" class="btn btn-link" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-success">Submit form</button>
</div>
}
</div>
</div>
public ActionResult Edit(int id)
{
RegionViewModels regionViewModels = MakeRegionViewModels(id);
return PartialView("_InsertTaxRegion", regionViewModels);
}
答案
使用jQuery,你可以序列化表单数据并在后台将它发送到服务器,你可以关闭你的模态,这是一个例子:How to use jquery $.post() method to submit form values
如果您使用<input type="submit" />
而不是<button type="button">Submit</button>
,那么您需要阻止您的表单提交如下:Using JQuery - preventing form from submitting
另一答案
您可以使用不带jQuery代码的Bootstrap模式执行此操作。
在我想要显示模态的页面上。您的模态表单(PartialView)将显示在您已经在视图的顶部。
<button id="btn" type="button" class="btn btn-info btn-lg" data-toggle="modal" data- target="#myModal">Open Modal</button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog" data-toggle="modal">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
@Html.Partial("Modal");
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default"
data-dismiss="modal">Close</button>
</div>
</div>
</div>
您的模型显示在部分视图中...
@model NCR.Models.Employee
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<div class="form-group">
@Html.LabelFor(model => model.FIRST_NAME, htmlAttributes:
new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FIRST_NAME,
new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FIRST_NAME, "",
new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.LAST_NAME, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.LAST_NAME, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.LAST_NAME, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Update" class="btn btn-default" />
</div>
</div>
}
以上是关于模态对话框无重定向的主要内容,如果未能解决你的问题,请参考以下文章
Shopify 在 url 中启用折扣代码(每页) - 无重定向
OAuth2和Node.js - Google确认后无重定向
防止在 Ajax 发布后使用 Javascript 重新提交表单(无重定向)
NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段