【发布时间】:2018-08-19 05:20:02
【问题描述】:
目前,我在一个 ASP MVC 应用程序的视图中有一个表单。
@model MyPortal.ViewModels.NewStudentViewModel
@{
ViewBag.Title = "NewStudent";
Layout = "~/Views/Shared/_LayoutStaff.cshtml";
}
<h2>New Student</h2>
@using (Html.BeginForm("CreateStudent", "Staff"))
{
<div class="form-group">
@Html.LabelFor(s => s.Student.Id)
@Html.TextBoxFor(s => s.Student.Id, new { @class = "form-control" })
@Html.ValidationMessageFor(s => s.Student.Id)
</div>
<div class="form-group">
@Html.LabelFor(s => s.Student.FirstName)
@Html.TextBoxFor(s => s.Student.FirstName, new { @class = "form-control" })
@Html.ValidationMessageFor(s => s.Student.FirstName)
</div>
<div class="form-group">
@Html.LabelFor(s => s.Student.LastName)
@Html.TextBoxFor(s => s.Student.LastName, new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(s => s.Student.YearGroup)
@Html.DropDownListFor(s => s.Student.YearGroup, new SelectList(Model.YearGroups,"Id","Name"),"" ,new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(s => s.Student.RegGroup)
@Html.DropDownListFor(s => s.Student.RegGroup, new SelectList(Model.RegGroups,"Id","Name"),"" ,new { @class = "form-control" })
</div>
<div class="form-group">
@Html.LabelFor(s => s.Student.FourMId)
@Html.TextBoxFor(s => s.Student.FourMId, new { @class = "form-control" })
</div>
@Html.HiddenFor(s => s.Student.AccountBalance, new {Value = 0.00})
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-primary">Save</button>
}
@section scripts
{
@Scripts.Render("~/bundles/jqueryval")
}
但是,我想在 Student 表上方的 Bootstrap 模式 中呈现此表单(在 Students 视图中)。
我在api/students 下有一个 API,我猜我需要使用 AJAX 来提交表单。
模态表单应在提交时关闭而不刷新页面(新学生出现在数据表中)。
更新:
我了解如何在视图中创建模式,但是,我不确定如何使用 AJAX 正确构建表单(因为表单每次都需要一个新的 Student 对象)。
【问题讨论】:
-
在 boostrap modal 上查看此文档getbootstrap.com/docs/3.3/javascript
标签: ajax asp.net-mvc twitter-bootstrap bootstrap-modal