jquery - Asp.net Mvc ajax 动作提交两次
问题描述
我正在通过带有 post url 的 ajax 提交数据,但是控制器中的这个动作不止一次像三倍一样令人兴奋我在主视图中使用父视图
@Html.Action("Driverview", "Driver")
这是我的主视图代码
<div class="modal fade" id="driver_vehicle" tabindex="-1" role="dialog" aria-labelledby="driver_vehicle" aria-hidden="true" data-backdrop="false">
<div class="modal-dialog modal-dialog-centered modal_driver_vehicle" role="document">
<div class="modal-content">
<div class="tab_header">
<div class="drivers_tab selected">Drivers <span class="addition">+</span></div>
<div class="vehicles_tab">Vehicles <span class="addition">+</span></div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
</div>
<!-- if there is too much content then add this class to scroll <div class="modal-body scrollbar"> -->
<div class="modal-body">
@Html.Action("Driverview", "Driver")
@Html.Action("Vehicleview", "Vehicle")
@*@{Html.RenderPartial("~/Views/Vehicle/Vehicleview.cshtml");}*@
</div>
</div>
</div>
我的 ajax 代码
$(document).keypress(function (e) {
var key = e.which;
if (key == 13) {
var Driverpic = $('.avatar').val();
var drivername = $('.DriverName').val();
var DriverEmail = $('.DriverEmail').val();
var StartTime = $('.StartTime').val();
var WorkingHours = $('.WorkingHours').val();
var LunchPeriod = $('.LunchPeriod').val();
var DriverIsActive = $('.DriverIsActive').val();
var postdata = {
Driverpic: Driverpic,
DriverName: drivername,
DriverEmail: DriverEmail,
StartTime: StartTime,
WorkingHours: WorkingHours,
LunchPeriod: LunchPeriod,
DriverIsActive: DriverIsActive
}
if (drivername != "" && DriverEmail != "" && StartTime != "" && WorkingHours != "" && LunchPeriod != "" & DriverIsActive != "") {
$.ajax({
url: '/Driver/Driverview/',
type: 'POST', // use Get for [HttpGet] action or POST for [HttpPost]
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(postdata),
success: function (data) {
console.log(data);
$('.dirveraddform').each(function () {
this.reset();
});
$(".select2").val('').trigger('change');
}
});
}
(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
return false;
}
});
Driverview 控制器
public class DriverController : Controller
{
/*public ActionResult Driverview()
{
return View();
}*/
[HttpPost]
public ActionResult Driverview(DriverViewModel driverdata)
{
// Data from submited form for add driver
DriverViewModel ddata = new DriverViewModel
{
DriverName = driverdata.DriverName,
DriverEmail = driverdata.DriverEmail,
StartTime = driverdata.StartTime,
WorkingHours = driverdata.WorkingHours,
LunchPeriod = driverdata.LunchPeriod,
DriverIsActive = driverdata.DriverIsActive
};
// Please Write your database code here
string constr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
string query = "INSERT INTO Drivers(Name, Email, StartTime, WorkingHours, LunchPeriodStartTime, IsActive) VALUES(@Name, @Email, @StartTime, @WorkingHours, @LunchPeriod, @DriverIsActive)";
query += " SELECT SCOPE_IDENTITY()";
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.Connection = con;
con.Open();
cmd.Parameters.AddWithValue("@Name", driverdata.DriverName);
cmd.Parameters.AddWithValue("@Email", driverdata.DriverEmail);
cmd.Parameters.AddWithValue("@StartTime", driverdata.StartTime);
cmd.Parameters.AddWithValue("@WorkingHours", driverdata.WorkingHours);
cmd.Parameters.AddWithValue("@LunchPeriod", driverdata.LunchPeriod);
cmd.Parameters.AddWithValue("@DriverIsActive", driverdata.DriverIsActive);
// customer.CustomerId = Convert.ToInt32(cmd.ExecuteScalar());
cmd.ExecuteScalar();
con.Close();
}
}
return Json(ddata, JsonRequestBehavior.AllowGet);
}
}
请帮帮我
解决方案
推荐阅读
- android - 在 Android 项目中应该在哪里创建 Dagger TestComponent?在主文件夹下还是在测试文件夹下?
- networking - 有没有办法知道节点在 contiki 3.0 中已断开/脱离 RPL 网络?
- c# - 如何在 Xamarin.Forms (BottomBarPage) 中更改 SelectedTabColor 和 UnselectedTabColor
- javascript - 如何将文件从 REST API 发送到前端?
- ios - 滑动菜单标题?
- connection - TypeORM @entity 基于连接名的动态名称
- python - 从 Twitter API 搜索中获取多个图像 URL
- html - 如何全屏显示 HTML 部分?
- javascript - Reg exp 仅接受角度打字稿中 oninput 事件中的数字中的一个逗号
- mysql - 如何根据颜色值对sql中的值求和?