C# 为主题使用不同的site.master文件
具有不同的site.master文件主题化的常见做法。现在我在asp.net-mvc网站上有了基于不同“.master”文件的菜单系统和不同的链接和样式。另一位开发人员认为这是一种奇怪的方法,我想从社区中得到一些想法。我对主文件不是很了解,但似乎对不同的样式使用不同的CSS文件会更好,不是吗?MVC“主题化”最灵活的方式似乎是提供您自己的视图引擎。。。这并不像听起来那么复杂。。。实际上,您告诉ViewEngine在指定的文件夹中查找母版页和视图。。或者退回到基本实现的默认“视图”文件夹C# 为主题使用不同的site.master文件,c#,asp.net-mvc,master-pages,C#,Asp.net Mvc,Master Pages,具有不同的site.master文件主题化的常见做法。现在我在asp.net-mvc网站上有了基于不同“.master”文件的菜单系统和不同的链接和样式。另一位开发人员认为这是一种奇怪的方法,我想从社区中得到一些想法。我对主文件不是很了解,但似乎对不同的样式使用不同的CSS文件会更好,不是吗?MVC“主题化”最灵活的方式似乎是提供您自己的视图引擎。。。这并不像听起来那么复杂。。。实际上,您告诉ViewEngine在指定的文件夹中查找母版页和视图。。或者退回到基本实现的默认“视图”文件夹 对于我自
对于我自己的MVC主题实现,我在ChristopheGeer的这篇文章中大量引用了:。。。但是我确信还有很多其他的资源可用。特别是对于MVC,那么使用自定义视图引擎可能更有意义 对于更普遍的ASP.NET,更改以编程方式使用的母版页是一种明智的方法。毕竟,这就是为什么可以在运行时设置该属性。我确实感到恼火的是,ASP.NET不允许您这样做,除非您从一个对现有文件的引用开始,所以除非有一个母版页将用于绝大多数请求(因此可以被视为“默认”),我喜欢让它指向一个只说“虚拟文本文件!对于其他开发人员来说,如果他们看到一个母版页文件,而这个母版页文件在他们看到的输出方面没有意义,那么对他们来说,这就不会造成太多的混乱
回到MVC。由于它在ASP.NET中通常是一种合理且非常常见的技术,如果它满足您的需要,那么就没有理由不使用它。我认为对于不同的网站结构(不同的HTML、不同的CSS,…)有不同的母版页这正是它们的用意,不要觉得奇怪。@Estaban Araya-如果我只是改变颜色或轻微布局,css会很好,但是这些不同的站点。主文件有完全不同的外观如果你的HTML很好,完全不同的外观只使用css是没有问题的。