Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为主题使用不同的site.master文件_C#_Asp.net Mvc_Master Pages - Fatal编程技术网

C# 为主题使用不同的site.master文件

C# 为主题使用不同的site.master文件,c#,asp.net-mvc,master-pages,C#,Asp.net Mvc,Master Pages,具有不同的site.master文件主题化的常见做法。现在我在asp.net-mvc网站上有了基于不同“.master”文件的菜单系统和不同的链接和样式。另一位开发人员认为这是一种奇怪的方法,我想从社区中得到一些想法。我对主文件不是很了解,但似乎对不同的样式使用不同的CSS文件会更好,不是吗?MVC“主题化”最灵活的方式似乎是提供您自己的视图引擎。。。这并不像听起来那么复杂。。。实际上,您告诉ViewEngine在指定的文件夹中查找母版页和视图。。或者退回到基本实现的默认“视图”文件夹 对于我自

具有不同的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是没有问题的。