asp.net-mvc - knockout 下拉列表将选择传递给 MVC5 中的模型

标签 asp.net-mvc razor knockout.js

我的 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/

相关文章:

ASP.NET core 2 充当反向代理用户重写中间件

c# - Javascript:如何遍历模型中的对象列表

javascript - 从客户端 js SPA 中的 web.config 读取 Api Key 值

javascript - 稍后如何在我的页面中使用 JavaScript 或 HTML 引用 Razor 变量

c# - FluentValidation 中每个自定义规则的客户端验证的最佳方法

javascript - 从 ClientDetailTemplate 中的 ClientTemplate 访问行数据

jquery - Knockoutjs TreeView 延迟加载: child nodes not showing

javascript - 输入类型按钮启用/禁用属性

asp.net-mvc - 如何使用不同的用户凭据从 ASP.NET MVC 执行操作?

javascript - Javascript : Nested Return Statement, return inside Return