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