南希 - 超级简单视图引擎:嵌套@Each

bio*_*tal 8 nancy

SSVE是否支持嵌套迭代器?

我希望在我的SSVE视图中向下走一个对象图(见下文),但我怀疑嵌套迭代器不是这里的方法.还有另一种方法吗?

我知道SSVE是供内部使用的,并不适合完全生产使用,所以没有问题,但我不想添加对Razor的引用并弄乱我的web.config文件,除非我绝对必须这样做.

嵌套迭代器视图(我的最佳猜测)

@Master['_Master']

@Section['Content']
    <h1>Assessment - @Model.survey.title</h1>
    @Each.survey.pages 
        <div>
            <h2>@Current.title</h2>
            @Each.questions
                <div>@Current.title</div>
            @EndEach
        </div>
    @EndEach
@EndSection
Run Code Online (Sandbox Code Playgroud)

小智 21

这个问题现在已经很老了,但仍然会成为谷歌的最佳搜索结果,每个搜索结果都使用超级简单视图引擎嵌套.如果其他人遇到此问题,请知道每个部分视图的支持已添加到SSVE中.(我用它来完成这种View嵌套 - 迭代集合中的集合.)

因此,您可以使用两个视图来实现所需的效果,其中外部视图如下所示:

@Master['_Master']

@Section['Content']
    <h1>Assessment - @Model.survey.title</h1>
    @Each.survey.pages 
        <div>
            <h2>@Current.title</h2>
            @Partial['QuestionList', Current.questions]
        </div>
    @EndEach
@EndSection
Run Code Online (Sandbox Code Playgroud)

然后另一个View(SSVE将找到名称QuestionList)看起来像这样:

@Each
    <div>@Current.title</div>
@EndEach
Run Code Online (Sandbox Code Playgroud)

虽然它会导致相当多的文件,但您应该可以通过重复此模式来获得任意深度.