jQuery $ .ajax()在编辑模式下不起作用Asp.Net Mvc5

时间:2019-07-10 07:20:59

标签: jquery asp.net-mvc-5

我正在使用Asp.Net Mvc5。问题是当我创建New Record时,jquery $ .ajax()工作正常,并且在更改时从db获取数据,并将所需数据显示到文本字段中。但是,当我单击编辑按钮以更新数据时,$。ajax()根本不起作用。我还注意到,当在actionLink编辑按钮中传递参数时,它不起作用;当我从actionLink编辑按钮中删除参数并在Action Controller中对其进行硬编码时,查询工作正常。这很奇怪,但我不知道如何处理。在下面,我分享了我的代码,以便在这里的任何人都可以了解实际上是什么问题。

带有VIEW中的“操作链接”的编辑按钮可将参数传递给控制器​​操作。

@Html.ActionLink("Edit", "EditRecord", new { id = item.DriverTripId }, new { @class = "btn btn-warning btn-sm" })

控制器操作方法

public ActionResult EditRecord(int? id)
{
if (id == null)
{
return RedirectToAction("Index", "Home");
}
ViewModel vm = new ViewModel();
InformationModel Information = vm.GetAllDetailsById(id);
return View("~/Areas/Trips/Views/Home/TripInformation.cshtml", Information);
} 

jQuery

$(document).ready(function () {
$("#DriverId").change(function () {
var dId = $("#DriverId").val();
if (dId != 0 || dId != null || dId != undefined) {
$.ajax({
type: 'POST',
dataType: 'json',
url: 'GetData',
data: { DriverId: dId },
success: function (data) {
var vNo = data.VehicleNo;
$("#VehicleNo").val(vNo);
}
});
}
});
});

GetData()在控制器中

[HttpPost]
public ActionResult GetData(int DriverId)
{
ViewModel dtvm = new ViewModel();
InformationModel Information = dtvm.GetVehicleNumberByDriverId(DriverId);
return Json(Information , JsonRequestBehavior.AllowGet);
}

我希望$ .ajax()在“编辑”模式下也可以在“创建”模式下工作。请注意,我正在使用相同的视图进行创建和更新。而且我没有使用实体框架,而是使用了存储过程。 解决该问题的任何帮助将受到高度赞赏。

0 个答案:

没有答案
相关问题