有没有一种方法可以获取在布局文件中定义的部分列表?例如,如果我想知道Shared / _Layout.cshtml文件中定义了哪些节,是否可以解析该布局文件,以便知道布局中存在哪些节?

最佳答案

我不知道内置函数,因为在不执行视图的情况下并不一定知道名称。

您可能只需要对布局运行正则表达式,例如

[^@]@RenderSection\(\s*"(?<name>[^"]+)"\s*\)


接受@RenderSection(“ foo”)或@RenderSection(“ foo”),但是跳过@@ RenderSection(@@转义的@)。

但是,这假定节的名称作为字符串文字传递。该视图也可能看起来像(不是您的典型情况,但可能):

@RenderSection(Model.SectionName)


在那种情况下,您几乎迷路了。

关于asp.net-mvc - Razor -获取部分列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9556516/

10-15 17:17