0

我在 C# 中有这个 Razor 代码,并尝试在 Knockout 中做同样的事情

 @foreach (var group in Model.Details.SonstigeNummern.OeReferenznummern.GroupBy(x => x.Hersteller))
                {
                    <tr class="ListItem @oddeven">
                        <td>@group.Key</td>
                        <td>
                            @foreach (var nummer in group)
                            { 
                                @nummer.Nummer<br />
                            }
                        </td>
                    </tr>
                }

我不知道如何管理 GroupBy。

我的 Viewmodel 与我的 c# 模型具有相同的语法

有人可以帮忙吗?

真诚的

4

1 回答 1

2

我不确定 linq 查询。但我认为你应该做这样的事情。如您所见,我只是将所有数据转换为数组,然后转换为 JSON 字符串。在这个客户端,我将它们重新转换为 javascript 对象。

<table data-bind="foreach: groups">
     <tr class="ListItem @oddeven" >
        <td data-bind="value: Key"></td>
        <td data-bind="foreach: Nummers">
            <span data-bind="text: $data"></span>
        </td>
    </tr>
 </table>



<script type="text/javascript">
    var data= JSON.parse('@Html.Raw(Json.Encode(Model.Details.SonstigeNummern.OeReferenznummern.GroupBy(x => x.Hersteller).Select( g => new {Key = g.Key, Nummers =  g.ToArray()}).ToArray()))');
    var vm = { groups: data};
    ko.applyBindings(vm);
</script>

我希望它有所帮助。

于 2013-05-27T11:06:00.163 回答