许多WebMatrix 示例和教程在页面构建过程中使用PageData 在页面之间传输数据(例如,在内容页面和布局页面之间)。例如...
@{
Layout = "/Shared/_Layout.cshtml";
PageData["Title"] = "Passing Data";
PageData["TraceData"] += "Start of the main page.|";
}
这适用于简单的情况,但我现在使用 PageData 有足够的重复代码,我想将其重构为一些 C# 类。但是,在我能够找到的任何示例或文档中,都没有任何“使用”语句或任何其他上下文来指示 PageData 是什么对象(或者是其属性)。在一个 cshtml 文件中,它“就在那里”,我还无法确定。
如何在 C# 类中访问 PageData?例如,我希望能够做这样的事情......
public static class MyTrace
{
public static void Add(string aMessage) {
PageData["TraceData"] += aMessage + "|";
}
public static string Read() {
return PageData["TraceData"];
}
}
(请注意:这个跟踪示例并不代表我使用的全部范围,而只是一个简单的例子来说明这一点。如果有更好的方法可以在 WebMatrix 中实现跟踪系统,那么我也想了解一下关于这一点,这不是这个问题的重点。)