我需要使用jquery从下拉列表中获取所选值。然后我想将此选定值发送到我的控制器中的Action Result Method,可能使用Ajax调用。由于我是新手,我不太确定如何实现这一目标。 所以我在我的控制器中有一个像这样的动作方法...
public ActionResult GetVehiclePart(string id)
{
//i did like to send the selected value to this controller and filter data like below
var _partNumber = _catalogue.CatalogueData.FirstOrDefault(x => x.Partnumber == id && x.Veh_ID == selectedValue);
return PartialView("_Vehicle", _partNumber)
}
在我的脚本文件`
中//getting the value using jquery
var vehicle = $("#ModelResult").val();
$.ajax({
type: 'GET',
url: '../../VehiclesController/GetVehiclePart/' + vehicle,
dataType: 'json',
success: function(data) {
vehicle = $("#ModelResult").val();
console.log(vehicle); // the value is printing here not sure how to post it to the controller
},
async: false
});
我可能在这里做错了,但是如果有人会帮助如何实现
答案 0 :(得分:2)
您的网址不正确(除非您确实拥有名为VehiclesControllerController
的控制器),dataType
选项也是如此。将你的ajax调用改为
$.ajax({
type: 'GET',
url: '@Url.Action("GetVehiclePart", "Vehicles")', // don't hard code your urls
data: { id: $("#ModelResult").val() }, // pass the value to the id parameter
dataType: 'html', // your returning a view, not json
success: function(data) {
// do something with the partial view you return?
$(someElement).html(data);
});
});
附注:控制器方法中的查询是基于id
值和selectedValue
过滤数据。它不清楚selectedValue
指的是什么。如果要将2个值传递给控制器,则可以使用
data: { id: $("#ModelResult").val(), selectedValue: anotherValue },
并将您的方法更改为
public ActionResult GetVehiclePart(string id, string selectedValue)