我的 knockoutjs 下拉列表有问题,我的 razor View 上有一个 MVC 5 应用程序,该应用程序与 knockout 绑定(bind)。
<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; }
我想将模型绑定(bind)到下拉列表,以便将 selectedAuthType 设置为值
下拉列表是通过 knockout 填充的
var authorityLevelList = Html.Raw(JsonConvert.SerializeObject(ViewBag.authorityLevelDDL));
$(document).ready(function ()
{
var vm = new AppViewModel();
vm.authorityLevel = ko.mapping.fromJS(@authorityLevelList);
ko.applyBindings(vm);
});
提前谢谢
最佳答案
好的,我已经弄清楚了
如果我使用 @html.DropDownListFor
帮助器并仍然绑定(bind)来自 knockout 的数据属性,我有一个由 knockout json 数组对象填充的 DropDown 列表,但也将其绑定(bind)到 MVC 5然后可以将其模型传递回 Controller 并插入到数据库中。
//data_bind 部分是 Knockout.js 部分,其余部分是 razor C# View 助手
@Html.DropDownListFor(m => m.SelectedAuthType,
(SelectList)Model.authlevellistItems,
new { id = "alddl", data_bind = " options: authorityLevel, optionsText: 'AuthorityLevel', optionsValue: 'aid'" })
希望这对其他人有帮助,我的问题不仅仅是浪费时间。 谢谢A
关于asp.net-mvc - knockout 下拉列表将选择传递给 MVC5 中的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24324849/