使用剔除绑定和razor语法

bri*_*ave 2 c# asp.net-mvc razor knockout.js

我想知道是否有可能在Razor语法中使用Knockoutdata-bind

我认为此代码如下:

<tbody data-bind="foreach: relays">
    <tr>
        <td id="body-button-column">
            <button class="btn btn-default btn-sm" title="Remove relay" data-bind="click: $parent.removeRelay">
                <i class="glyphicon glyphicon-remove-circle"></i>
            </button>
        </td>
        <td><input type="text" data-bind="value: $index"/></td>
        <td>@Html.DropDownList("RelayConfigurations[" + $index + "].Address", Model.Addresses, "Select an Item")</td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

我的视图模型具有以下属性

self.relays = ko.observableArray(@Html.Raw(Json.Encode(Model.RelayConfigurations)));
Run Code Online (Sandbox Code Playgroud)

其中RelayConfigurations是模型上的集合对象。

在使用Razor语法的行中@Html.DropDownList……我想为$ index值使用敲除绑定,但不确定如何做到这一点。或者,即使有可能。

如果我用$index硬编码值零替换该行中的,则控制器操作中的模型绑定将在回发时按预期工作(尽管由于硬编码值为零,所以仅集合中的第一个中继具有任何数据) 。

小智 5

当然,您可以在剃须刀中使用剔除:)

我相信您正在寻找的是这种匿名对象方法:

@Html.DropDownList("somelist", Model.List, new { id = "listbox", data_bind = "" })
Run Code Online (Sandbox Code Playgroud)