Orchard CMS - Как использовать тематические атрибуты и атрибуты httppost вместе
Я работаю с Orchard 1.7.2, и в моем пользовательском модуле у меня есть ряд действий контроллера, украшенных атрибутом [Themed].
Моя проблема в том, что когда я также украшаю любой из них атрибутом [HttpPost], тема перестает работать, когда используется это действие.
Кто-нибудь сталкивался с этим раньше?
1 ответ
Конечно, вы говорите действию, что оно не должно выполняться для запросов get, только для запроса post. Действие, помеченное как post, используется для ajax-запроса или для отправки формы на сервер. (Поскольку вы вправе сделать запрос на публикацию страницы, я удалил эту часть, но снова не рекомендуется)
Попробуйте внедрить IWorkContextAccessor, RequestContext и IThemeManager в ваш конструктор, а затем в своем действии сделайте что-то вроде этого:
contextAccessor.GetContext().CurrentTheme = themeManager.GetRequestTheme(requestContext);
Я не знаю, работает ли это, но, по крайней мере, у вас есть отправная точка.