.net 在多租户解决方案中动态设置母版页。
我在.NETMVC4中创建了一个多租户解决方案,效果非常好。我只剩下最后一期了 我使用OnResultExecuting创建了自己的控制器,这很好,因为它允许我在处理母版页的同时仍然保持我的多租户功能(在自定义视图引擎中路由) 我的代码看起来是这样的.net 在多租户解决方案中动态设置母版页。,.net,asp.net-mvc,master-pages,multi-tenant,asp.net-mvc-controller,.net,Asp.net Mvc,Master Pages,Multi Tenant,Asp.net Mvc Controller,我在.NETMVC4中创建了一个多租户解决方案,效果非常好。我只剩下最后一期了 我使用OnResultExecuting创建了自己的控制器,这很好,因为它允许我在处理母版页的同时仍然保持我的多租户功能(在自定义视图引擎中路由) 我的代码看起来是这样的 protected override void OnResultExecuting(ResultExecutingContext filterContext) { var viewResult = filterCon
protected override void OnResultExecuting(ResultExecutingContext filterContext)
{
var viewResult = filterContext.Result as ViewResult;
if (viewResult != null)
{
viewResult.MasterName = viewResult.MasterName == "" ? "_Layout" : (viewResult.MasterName == "IGNORE" ? "" : viewResult.MasterName);
}
我唯一剩下的问题是,我不能让某个客户的某个页面使用不同的布局
这是我能做的
- 不同的页面有不同的布局
- 为租户提供不同版本的布局
- 没有主视图(通过发送忽略)
有更好的主意吗?不如在System.Web.MVC.ViewPage中添加您自己的自定义视图页面,并在其中处理所有这些内容。我没有尝试过这种情况。但是我想到了这个建议。嗯,你可能是对的。这可能是一个很好的解决方案。看看我是否有时间尽快测试它!当然,瑞克,一定要让我知道实施情况。我们将创建一个从
ViewPage
继承的自定义视图页面,并且在OnPreInit
方法中,我们将基于租户覆盖主题。