My Site.Master не привязан к модели представления или контроллеру. Как я могу получить доступ к пользовательскому контексту внутри частичного представления, загруженного в мой файл Site.Master?
Вы можете объяснить это поподробнее? Чего именно пытаются добиться?
- person  schedule27.03.2013
comment
Я подозреваю, что это проблема XY (meta.stackexchange .com / questions / 66377 / what-is-the-xy-problem). Расскажите нам, что вы пытаетесь сделать с помощью этого кода, другими словами, настоящую проблему, которую вы пытаетесь решить.
- personErik Funkenbusch  schedule27.03.2013
comment
У меня есть частичное представление, где мне нужен идентификатор пользователя asp.net, чтобы получить другую информацию о пользователе. Обычно, если я использую метод GET контроллера, я могу просто вызвать AppUserInstance.Id. Но я не в контроллере, поэтому не могу этого сделать. Спасибо за помощь.
- personuser2211833  schedule27.03.2013
comment
Я смог войти в базовый класс своего контроллера и добавить его в ViewData
- personuser2211833  schedule27.03.2013
Для этого можно использовать фильтры действий. В фильтрах действий вам нужно переопределить метод OnActionExecuting и передать UserContext в filterContext.Controller.ViewBag.UserContext
Эту динамическую панель просмотра вы можете использовать в своих мастер-файлах где угодно.
Отвечает ли это на ваш вопрос?
Редактировать:
Вам нужен класс, унаследованный от ActionFilterAttribute, вы можете затем переопределить его OnActionExecuting метод, как показано ниже:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Your implementation here
base.OnActionExecuting(filterContext);
}
personAmanschedule27.03.2013
comment
Спасибо за ваш ответ. что такое filterContext
- personuser2211833; 27.03.2013