递归局部视图

Recursive partial views

我正在尝试像这样重用我的局部视图:

<div>
<ul data-bind="foreach: DetailViewModelObject.ConfigsChild">
    <li>
        <table>
            <tr>
                <td colspan="5">
                    <input type="hidden" data-bind="value: DetailViewModelObject.Id" />
                </td>
            </tr>
            <tr>
                <td>
                    Llave
                </td>
                <td></td>
                <td>
                    Valor
                </td>
                <td></td>
                <td></td>
            </tr>
            <tr>
                <td>
                    <input type="text" data-bind="value: DetailViewModelObject.Key" />
                </td>
                <td>
                    <input type="button" value="..." class="btn bg-primary" data-bind="click: DetailViewModelObject.SetPropertiesKeyCommand" style="margin: 5px" />
                </td>
                <td>
                    <input type="text" data-bind="value: DetailViewModelObject.Value" />
                </td>
                <td>
                    <input type="button" value="..." class="btn bg-primary" data-bind="click: DetailViewModelObject.SetPropertiesValueCommand" style="margin: 5px" />
                </td>
                <td>
                    <input type="button" value="Agregar configuración" class="btn bg-warning" data-bind="click: DetailViewModelObject.AddConfigCommandChild" style="margin: 5px" />
                </td>
            </tr>
            <tr>
                <td colspan="5">
                    @Html.Partial("~/Views/ApplicationConfig/_PartialApplicationConfigDetail.cshtml")
                </td>
            </tr>
        </table>
    </li>
</ul>

但是出现如下错误:

WhosebugException on mscorlib.dll

过程结束...

所以:可以做这个吗?你们知道如何构建它吗?

我正在使用 knockout 并制作一棵 class 的树并呈现给用户我自己重复使用 PartialViews

这个异常(行为)是绝对正常的,因为你正在创建一个无限递归:

您的视图呈现相同的视图,呈现相同的视图,呈现相同的视图...并且在点击 WhosebugException 时停止。

放置一些条件(在视图中if)(递归底部)来停止它。

我可以建议您的另一个解决方案是使用 Knockout 并调用一个操作来使用 AJAX.

显示视图