我有一个select标记,它的onchange将进入其中包含存储过程的OnGet动作。我希望能够获取该存储过程返回的任何值并将其返回到另一个select标记。
当我调试时,onchange转到OnGet操作,但是由于某种原因它没有得到值。我正在使用ajax方法到达服务器端并调用OnGet操作。我试图发出测试警报,以查看是否能够获取数据,但仍然无法获取数据。
我的选择标签
//First select on change
<select id="driverselect" asp-for="TripNumber.UserDriverID" asp-items="Model.UserDrivers" class="form-control">
<option value="">Select a driver</option>
</select>
//Second select where value from stored procedure should go
<select id="vehicleselect" asp-for="TripNumber.VehicleType" asp-items="Model.VehicleList" class="form-control">
<option value="">Select a vehicle</option>
</select>
我的jquery ajax
$("#driverselect").on("change", function () {
$.ajax({
type: 'GET',
url: '@Url.Page("TripTicketEntry","OnGetVehicleAssign")',
contentType: 'application/json',
data: { UserDriverID : UserDriverID },
success: function (data) {
alert(data.test);
}
});
});
我的OnGet操作
public IActionResult OnGetVehicleAssign(int UserDriverID)
{
//var param = new SqlParameter("@UserDriverID", UserDriverID);
//var VehicleAssign = _context.VehicleAssign.FromSql("uspVehicleAssign @UserDriverID", param).ToList();
//TripNumber = new TripNumber();
//TripNumber.VehicleType = VehicleAssign.FirstOrDefault().Type;
//return Page();
var result = new { test = "test" };
return new JsonResult(result);
}
答案 0 :(得分:0)
您应将所选的UserDriverID
传递到服务器端:
data: { UserDriverID: $("#driverselect").val() },