Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
Asp.net mvc MVC Razor的多主题_Asp.net Mvc_Asp.net Mvc 3_Razor_Themes - Fatal编程技术网

Asp.net mvc MVC Razor的多主题

Asp.net mvc MVC Razor的多主题,asp.net-mvc,asp.net-mvc-3,razor,themes,Asp.net Mvc,Asp.net Mvc 3,Razor,Themes,我不熟悉asp.NETMVC和razor,但我正在尝试构建一个web应用程序,其中多个客户端可以使用该应用程序(访问相同的URL和域)。其想法是为每个客户提供不同的主题。 主题名称可以在用户登录后存储在用户信息中,也可以在用户登陆我的网站时传入查询字符串。 其中一些客户机希望页眉和页脚有不同的布局,所以我认为基于CSS的解决方案是不够的。 我使用的是MVC3。 有谁能为我指出实现这一目标的正确方向吗? 我正在考虑创建一个自定义的viewengine,这是我在webform中看到的一些示例。这样做

我不熟悉asp.NETMVC和razor,但我正在尝试构建一个web应用程序,其中多个客户端可以使用该应用程序(访问相同的URL和域)。其想法是为每个客户提供不同的主题。 主题名称可以在用户登录后存储在用户信息中,也可以在用户登陆我的网站时传入查询字符串。 其中一些客户机希望页眉和页脚有不同的布局,所以我认为基于CSS的解决方案是不够的。 我使用的是MVC3。 有谁能为我指出实现这一目标的正确方向吗? 我正在考虑创建一个自定义的viewengine,这是我在webform中看到的一些示例。这样做涉及到什么?有更好的办法吗

对那些庆祝的人表示感谢

有一个重载,允许您从操作中指定特定的主布局:

return View(string viewName, string masterName);
因此,如果只需根据用户使用不同的母版页就可以了,这不是一个坏方法。

有一个重载,可以让您通过操作指定特定的母版布局:

return View(string viewName, string masterName);

因此,如果只需根据用户使用不同的母版页就可以了,这不是一个坏方法。

为每个客户端创建一个单独的布局页,然后在
\u ViewStart.cshtml
中选择适当的布局为每个客户端创建一个单独的布局页,然后在
\u ViewStart.cshtml

中选择适当的布局,将该布局传递到所有控制器将是一个非常糟糕的主意。最好在您自己的基本控制器中封装该逻辑。将该布局传递到所有控制器将是一个非常糟糕的主意。最好在您自己的基本控制器中封装该逻辑。我按原样给了这个布局更像我要找的,更简单。我给了这个赏金,因为它更像我要找的,更简单。