2015-11-06 45 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