c# - 递归局部 View

标签 c# asp.net-mvc knockout.js

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

<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>

但是出现如下错误:

StackOverFlowException on mscorlib.dll

过程结束...

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

我正在使用 knockout 并且我制作了一棵类树并呈现给用户我自己重用了 PartialViews

最佳答案

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

您的 View 呈现相同的 View ,呈现相同的 View ,呈现相同的 View ...并在 StackOverflowException 被命中时停止。

放置一些条件( View 中的if)(递归底部)来停止它。

我可以建议您的另一种解决方案是使用 Knockout 并调用一个操作以使用 AJAX 显示 View

关于c# - 递归局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28502564/

相关文章:

c# - 使用 C# 创建图表

asp.net-mvc - 减少对缓存资源的 HTTP 请求数

php - JS AJAX发送多个数据数组

c# - WPF ListView 将 SelectedItem 与相同的项目混淆

c# - 如何将自己的自定义参数传递给build.ps1?

c# - 如何从 pem 文件或 xml 文件中读取 RSA 公钥

asp.net-mvc - 播放视频MVC网站

javascript - 在部分 View 上加载脚本文件导致错误

javascript - KoGrid:访问 selectedItemCount

html - 如何使用基于 JSON 的下拉列表来过滤 xml 源?