2015-11-06 14 views
0

我不知道我在这里可能会做错什么,但你可以找到我可能错过的任何东西吗?因此,如下所示,我的控制器中有一个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 

我仍然得到同样的东西。在上述情况下,我有可能做错了什么?

+1

要么更换'vehId'用'manId' jQuery的或'manId'与'vehId'的操作方法。 –

+0

对不起,请参阅编辑..我忘了改变!但即使当我设置属性名称相同..我得到相同的结果 – 1future

+0

你可以'console.log(manId)'并确认它有一个值? dataType为'html'而不是'json'的任何原因? – markpsmith

回答

2

属性名应当是相同的 变 “vehId” 到 “manId”

+0

对不起,请参阅编辑..我忘了改变!但即使当我设置属性名称相同..我得到相同的结果 – 1future

+0

该脚本可以被缓存。尝试重新启动服务器和浏览器以确保新脚本正在运行。 – Emre

+0

yup!它是缓存! – 1future