【问题标题】:Returning a value from OnGet action method back to razor page从 OnGet 操作方法返回值返回剃须刀页面
【发布时间】:2020-03-02 11:03:46
【问题描述】:

我有一个选择标记,它的 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>

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

【问题讨论】:

    标签: jquery asp.net-core asp.net-ajax razor-pages


    【解决方案1】:

    您应该将选定的UserDriverID 传递给服务器端:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2022-01-19
      • 2021-08-27
      • 1970-01-01
      • 2019-02-02
      相关资源
      最近更新 更多