в контроллере:Как передать переменную из контроллера инициализации мастер-страницы в MVC2
protected override void Initialize(RequestContext requestContext)
{
if (db == null) { db = new myRepository(); }
if (currentCalendar == null)
{
currentCalendar =
db.FindCalendarInfoByUrl(
requestContext.RouteData.Values["calurl"].ToString());
// if not found ... show Unavailable Content View
if (currentCalendar == null)
RedirectToAction("ContentNotAvailable");
// to show in the MasterPage
Session["GoogleId"] = currentCalendar.GoogleAnalyticsId;
}
base.Initialize(requestContext);
}
Session
переменная еще не определена в это время запроса, и я не могу использовать ViewData
либо как Это всегда значение null ...
Как использовать эти переменные GoogleId
и CalendarUrl
на MasterPage
?
Я думаю, что я мог бы использовать Cache
, но есть так много, и я не в Caching:
alt text http://www.balexandre.com/temp/2010-11-17_2328.png
Что мой лучший вариант для достижения этой цели?
ViewData не должно быть пустым в 'Initialize'. Повторите попытку и покажите появившуюся ошибку. – Omar
'ViewData' является' null' в 'MasterPage',' Session' недопустим в методе Ìnitialization'. :( – balexandre
dang ... 'ViewData' есть .. Я просто пропустил правильный контроллер (нужно спать, срочно!). – balexandre