有没有办法获取布局文件中定义的部分列表?例如,如果我想知道 Shared/_Layout.cshtml 文件中定义了哪些部分,是否有办法解析该布局文件,以便我知道布局中存在哪些部分?
最佳答案
我不知道有任何内置函数,因为在不执行 View 的情况下不一定知道名称。
您可能可以在布局上运行正则表达式,例如
[^@]@RenderSection\(\s*"(?<name>[^"]+)"\s*\)
它接受@RenderSection("foo")或@RenderSection("foo"),但跳过@@RenderSection(@@转义@)。
但是,这假设节的名称作为字符串文字传入。该 View 也可能看起来像(不是典型情况,但有可能):
@RenderSection(Model.SectionName)
在这种情况下,你几乎迷路了。
关于asp.net-mvc - razor - 获取部分列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556516/