【发布时间】:2017-10-26 20:23:28
【问题描述】:
我需要做的是显示一个弹出窗口来向我的数据库添加一条新记录,我使用的是 bootstrap 3,我喜欢它,因为我没有使用一行 jquery,而且我的表单非常好(显然它们是基于jquery)。
我正在通过 ajax 验证我的表单,但现在的问题是我的模态永远不会关闭,当我尝试重定向到一个动作时,动作被加载到我的模态中,所以我的问题是如何停止我的模态?
这是这段代码的一个例子:
我的表格:
验证后我的表单:
这段代码完美无缺:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Add Car</h4>
</div>
<div class="modal-body">
@using (Ajax.BeginForm("ModalAdd", new AjaxOptions() {UpdateTargetId = "mymodalform"}))
{
<div id="mymodalform">
@Html.Partial("CreatePartialView", new Car())
</div>
}
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
和我的部分:
@model ControliBootstrap.Models.Car
<div class="form-horizontal" >
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.Model, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Model)
@Html.ValidationMessageFor(model => model.Model)
</div>
</div>
<!--More fields-->
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default"/>
</div>
</div>
</div>
现在的问题是,当模型在我的控制器中有效时,我转到加载在我的模态中的索引操作,所以我的问题再次是如何关闭我的模态?
这是我的控制器:
public ActionResult ModalAdd(Car car)
{
if (ModelState.IsValid)
{
db.Cars.Add(car);
db.SaveChanges();
return RedirectToAction("Index");
}
return PartialView("CreatePartialView",car);
}
【问题讨论】:
标签: asp.net-mvc modal-dialog twitter-bootstrap-3