有没有一种方法可以获取在布局文件中定义的部分列表?例如,如果我想知道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/