2017-01-17 67 views
1

我想設置一個KO選擇列表選擇項目與一個viewbag值的默認值。淘汰賽js從MVC選擇默認值viewbag

這幾乎讓我在那裏,但價值硬編碼在這裏。

Knockout js , mvc drop down default value is not selecting

function VehicleTypesViewModel(){ 
    var self = this; 
    self.VehicleTypeId = null; 
    self.VehicleTypes = []; 
}  
var viewModel = new VehicleTypesViewModel(); 

$.get(urlPath + "/GetVehicleTypes", function (data) {  
    viewModel.VehicleTypeId = 32; 
    viewModel.VehicleTypes = data; 
    ko.applyBindings(viewModel); 
}); 

在這裏的圖32是所選擇的值,但我需要這是從視圖袋。我需要再次調用ajax來獲取並存儲我的viewbag中的值到我的KO視圖模型中嗎?感謝所有的幫助。

+1

如果這個JS在'.js'文件中,那麼你不能使用viewbag。如果代碼位於'.cshtml'文件中,則可以使用viewbag進行注入。 – mrogers

+0

它在一個.js文件中非常感謝你給我我的答案我將不得不在我的KO文件中再次調用以引入viewbag項目。 – Camp

回答

0

你可以只是把viewbag數據視圖(CSHTML)與屬性「數據」:

<div class="selected-vehicle" data-selected-id="@ViewBag.SelectedID" 

data-*是HTML的屬性,偉大的地方來存儲和更新您的視圖的數據。

然後在你的.js文件,你可以使用jQuery data method呼叫檢索數據:

... 
viewModel.VehicleTypeId = $(".selected-vehicle").data("selected-id"); 

希望它能幫助。