我正在使用 Orchard 1.7.2,在我的自定义模块中,我有许多用 [Themed] 属性装饰的控制器操作。
我的问题是,当我还使用 [HttpPost] 属性装饰它们中的任何一个时,使用该操作时主题将停止工作。
有没有人遇到过这个?
我正在使用 Orchard 1.7.2,在我的自定义模块中,我有许多用 [Themed] 属性装饰的控制器操作。
我的问题是,当我还使用 [HttpPost] 属性装饰它们中的任何一个时,使用该操作时主题将停止工作。
有没有人遇到过这个?
当然,您是在告诉操作它不应该为获取请求运行,而只为发布请求运行。标记为 post 的操作用于 ajax 请求或将表单发送到服务器。(正如您所指的对页面进行发布请求是合法的,我删除了该部分,但同样不推荐)
尝试将 IWorkContextAccessor、RequestContext 和 IThemeManager 注入到您的构造函数中,然后在您的操作中执行以下操作:
contextAccessor.GetContext().CurrentTheme = themeManager.GetRequestTheme(requestContext);
我不知道这是否有效,但至少你有一个起点。