Возврат значения из метода действия OnGet обратно на страницу бритвы - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть тег выбора, который onchange выполняет действие OnGet с хранимой процедурой внутри него. Я хочу иметь возможность получить любые значения, возвращаемые этой хранимой процедурой, и вернуть его другому тегу выбора.

Когда я отлаживаю, 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>

My 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);
           }
       });
});

My OnGet action

 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);
    }

1 Ответ

0 голосов
/ 06 ноября 2019

Вы должны передать выбранное UserDriverID на сторону сервера:

data: { UserDriverID: $("#driverselect").val() },
...