Многие примеры и руководства WebMatrix используют PageData для передачи данных между страницами в процессе создания страницы (например, между страницей содержимого и страницей макета).Например ...
@{
Layout = "/Shared/_Layout.cshtml";
PageData["Title"] = "Passing Data";
PageData["TraceData"] += "Start of the main page.|";
}
Это прекрасно работает для простых ситуаций, но теперь у меня достаточно повторного кода с использованием PageData, и я хочу преобразовать его в некоторые классы C #.Однако ни в одном из примеров или документации, которые мне удалось найти, есть какие-либо операторы использования или какой-либо другой контекст, чтобы указать, что объект PageData является (или является свойством).В файле cshtml он «просто есть» по какой-то магии, которую я еще не смог определить.
Как я могу получить доступ к PageData в классе C #?Например, я хотел бы иметь возможность сделать что-то вроде этого ...
public static class MyTrace
{
public static void Add(string aMessage) {
PageData["TraceData"] += aMessage + "|";
}
public static string Read() {
return PageData["TraceData"];
}
}
(Обратите внимание: этот пример трассировки не отражает полную степень моего использования, но является простым примером для демонстрацииДело в том, что если есть более эффективные способы реализации системы отслеживания в WebMatrix, то, хотя я также хотел бы узнать об этом, вопрос не в этом.)