1

许多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 中实现跟踪系统,那么我也想了解一下关于这一点,这不是这个问题的重点。)

4

1 回答 1

2

要访问该PageData属性,请尝试以下代码:

WebPageContext.Current.PagaData

WebPageContext类型在System.Web.WebPages命名空间中可用。

于 2011-02-24T04:59:05.090 回答