许多WebMatrix示例和教程使用PageData在页面构建过程中(例如在内容页面和布局页面之间)在页面之间传输数据。 例如......
@{
Layout = "/Shared/_Layout.cshtml";
PageData["Title"] = "Passing Data";
PageData["TraceData"] += "Start of the main page.|";
}
这适用于简单的情况,但我现在有足够的重复代码使用PageData,我想将它重构为一些C#类。但是,在我找不到的任何示例或文档中,是否有任何“using”语句或任何其他上下文来指示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中实现跟踪系统,那么我也希望要弄清楚这一点,这不是这个问题的重点。)
答案 0 :(得分:2)
要访问PageData
属性,请尝试以下代码:
WebPageContext.Current.PagaData
WebPageContext
命名空间中提供了System.Web.WebPages
类型。