Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 根据用户代理字符串返回不同的布局_C#_Asp.net_Asp.net Mvc 4_User Agent - Fatal编程技术网

C# 根据用户代理字符串返回不同的布局

C# 根据用户代理字符串返回不同的布局,c#,asp.net,asp.net-mvc-4,user-agent,C#,Asp.net,Asp.net Mvc 4,User Agent,我有一个需要同时支持桌面和平板电脑浏览的应用程序。这两个版本将显著不同,在/Views/Shared中使用不同的布局/ 在控制器中,我当前正在读取用户代理字符串并返回不同的部分视图,这些视图在一个布局中解析。我想有两种不同的布局,一种用于平板电脑,另一种用于桌面。目前我有: /Views/Shared/_HomeLayout.cshtml /Views/Shared/_HomeLayoutTablet.cshtml 在调用我自己的控制器之前,如何读取用户代理字符串并让服务器呈现正确的视图?您仍

我有一个需要同时支持桌面和平板电脑浏览的应用程序。这两个版本将显著不同,在/Views/Shared中使用不同的布局/

在控制器中,我当前正在读取用户代理字符串并返回不同的部分视图,这些视图在一个布局中解析。我想有两种不同的布局,一种用于平板电脑,另一种用于桌面。目前我有:

/Views/Shared/_HomeLayout.cshtml
/Views/Shared/_HomeLayoutTablet.cshtml

在调用我自己的控制器之前,如何读取用户代理字符串并让服务器呈现正确的视图?

您仍然可以使用移动视图和上下文条件返回不同的视图,即使对于部分视图也是如此


根据本文中的示例,如果您希望只考虑移动设备的视图,可以创建两个版本,一个扩展名为.mobile.cshtml。

看看这个,谢谢,看一看。我目前正在使用一个移动视图和一个桌面视图,每个视图使用不同的布局。由于我使用的是在布局中定义的范围内渲染的PartialViews,因此在PartialViews中设置布局会导致该布局渲染两次;一次正常,另一次在布局的内部。这就是为什么我想完全取消这个功能,只是从一开始就显示不同的布局,而不在视图中引用它们。所有PartialViews当前都在同一布局中渲染,无论如何。问题在于,桌面版和移动版的布局需要大不相同。我需要添加更多信息,创建一个新问题。