我正在尝试像这样重用我的局部 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/