C# MVC中每个组织单独风格的最佳方法?
我正在尝试构建一个支持多个组织的web应用程序。为了保持简单(因为我对MVC没有太多经验),我设置了自定义路由,如C# MVC中每个组织单独风格的最佳方法?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在尝试构建一个支持多个组织的web应用程序。为了保持简单(因为我对MVC没有太多经验),我设置了自定义路由,如site.com/organization1,site.com/organization2等 每个组织都必须能够在其页面上选择自己的颜色、字体和图像。每个组织的页面结构和应用程序的内部工作方式都是相同的 编辑:组织必须能够动态创建页面并设置页面样式。在此过程中不应涉及任何开发人员 我不确定什么是分离不同布局的最佳方法。有人有什么建议吗 提前感谢试试这个: 在视图/共享文件夹中为每个组
site.com/organization1
,site.com/organization2
等
每个组织都必须能够在其页面上选择自己的颜色、字体和图像。每个组织的页面结构和应用程序的内部工作方式都是相同的
编辑:组织必须能够动态创建页面并设置页面样式。在此过程中不应涉及任何开发人员
我不确定什么是分离不同布局的最佳方法。有人有什么建议吗
提前感谢试试这个:
视图/共享
文件夹中为每个组织提供单独的布局,具有特定样式,如organization1\u layout.cshtl、org2\u layout.cshtml
\u Layout.cshtml
中,使用URL/路由详细信息确定组织,并相应地设置布局
@{
Layout = "~/Views/Shared/_Layout.cshtml";
if (Request.Url.ToString().Contains("Organisation1") {
Layout = "~/Views/Shared/Org1.cshtml";
}
else
{
Layout = "~/Views/Shared/Org2.cshtml";
}
}
我会将组织模式(颜色、图像等)保存到数据库中,然后创建一个布局(母版)页面,使用提供的组织模型中的布局(母版)页面;然后将组织存储在会话和/或viewdata或model中(取决于用户数量和视图数量),然后使用从组织架构中检索到的db片段呈现布局。如果目标是仅分离布局,Mvc有layout.cshtml文件,因此您可以创建Organization1Layout.cshtml和organization2.cshtml…@zaitsman我想我会选择您的解决方案。有类似的想法,但不确定如何设计页面样式并发送一个模型。比如说,给ViewBag一个背景颜色值,给模型(数据)作为视图的参数,对吗?@Sn0wBlind类似的东西。根据复杂性,您可能只希望存储id或其他内容,然后在布局页面中从httpcontext缓存中检索模型,然后在应用程序启动时以及组织样式更改时重新填充缓存。谢谢您的回答,但这不意味着每次组织想要“加入”时,开发人员必须创建一个新的.cshtml文件吗?