knockout js从mvc viewbag中选择默认值

时间:2017-01-17 18:39:23

标签: asp.net-mvc knockout.js

我正在尝试使用viewbag值设置KO选择列表所选项目的默认值。

这几乎让我在那里,但价值是硬编码的。

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 viewmodel中?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用属性“data”将viewbag数据放在视图(cshtml)中:

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

data-*是html的属性,是存储和更新视图数据的好地方。

然后在.js文件中,您可以使用jquery data method调用来检索数据:

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

希望它有所帮助。