假设我有一个Razor文件(example.cshtml)包含以下代码行,并且我只能在VSCode上工作而不需要访问调试工具:
@{ string testString = "test1";
bool testBool = false;
}
我能不能"扫描"一下?并收集所有手动声明的变量(在本例中为testString和testBool)及其值("test1"(在本例中为false),以便我可以显示它们?我知道我可以手动执行此操作,并在HTML编译后查看值:
@testString @testBool
但是我希望这个(变量的扫描和收集)是自动化的。
我找到了一个解决这个问题的方法。
PageData对象,总是出现在Razor页面中,类型为 dictionary <object,>,包含该页面中使用的所有变量的列表。
字典可以通过foreach循环迭代,以访问字典中包含的所有项的键和值:
@foreach (KeyValuePair<object, dynamic> var in PageData)
{
<p>@var.Key = <b>@var.Value</b></p>
}
这将输出一个整洁的列表,其中包含特定页面中使用的所有变量。