我遇到了knockoutjs下拉列表的问题,我的razor视图中有一个MVC 5应用程序,它正在被淘汰出局。
<select name="alddlname" id="alddl"
data-bind="
options: authorityLevel,
optionsText: 'AuthorityLevel',
optionsValue: 'aid',
value: aid
">
</select>
我会链接到使用所选项目并将其传递给模型属性
public List<authorityLevel> authLevellistItems { get; set; }
public string SelectedAuthType { get; set; }
我想将模型绑定到下拉列表,以便将selectedAuthType设置为值
使用此
从淘汰赛中弹出下拉列表var authorityLevelList = Html.Raw(JsonConvert.SerializeObject(ViewBag.authorityLevelDDL));
$(document).ready(function ()
{
var vm = new AppViewModel();
vm.authorityLevel = ko.mapping.fromJS(@authorityLevelList);
ko.applyBindings(vm);
});
提前谢谢
答案 0 :(得分:8)
好的,所以我已经弄明白了
如果我使用@html.DropDownListFor
帮助器并仍然从敲除绑定我的数据属性我有一个由敲除json数组对象填充的DropDown列表,但是然后也将它绑定到MVC 5模型然后可以传递返回控制器并插入数据库。
// data_bind部分是knockout.js部分,其余部分是razor c#view helper
@Html.DropDownListFor(m => m.SelectedAuthType,
(SelectList)Model.authlevellistItems,
new { id = "alddl", data_bind = " options: authorityLevel, optionsText: 'AuthorityLevel', optionsValue: 'aid'" })
希望这对别人有帮助,我的问题不仅仅是浪费时间。
谢谢A