我不知道我在这里可能会做错什么,但你可以找到我可能错过的任何东西吗?因此,如下所示,我的控制器中有一个Method接收来自Ajax调用的2个参数。第一个参数由于某种原因没有被传递,并且总是返回为空,我不确定这是为什么。在另一方面,第二个参数被传递给我的方法在控制器第一个参数没有通过使用Ajax和MVC
public ActionResult TurboVehicle(int? manId, decimal? engine)
{
var partnumber = _catalogue.Data.Where(x => x.man_ID == manId && x.Engine == engine)
.Select(x => x.TurboType).FirstOrDefault();
return PartialView("_vehicle", model);
}
Ajax调用
var manId = $("#SelectedVehicle").val();
var engine = $("#SelectedEngine").val();
$.ajax({
type: 'GET',
url: '../../Vehicles/TurboVehicle',
data: { manId: manId, engine: engine },
dataType: 'html',
success: function (data) {
console.log(vehId); //the value does print here
}
});
我也试图改变的URL如下:
url: '../../Vehicles/TurboVehicle/' + manId + '/' + engine
我仍然得到同样的东西。在上述情况下,我有可能做错了什么?
要么更换'vehId'用'manId' jQuery的或'manId'与'vehId'的操作方法。 –
对不起,请参阅编辑..我忘了改变!但即使当我设置属性名称相同..我得到相同的结果 – 1future
你可以'console.log(manId)'并确认它有一个值? dataType为'html'而不是'json'的任何原因? – markpsmith