c# – 如何获取当前的显示模式在mvc4中是移动的

c# – 如何获取当前的显示模式在mvc4中是移动的,第1张

概述我正在开发移动Web应用程序.我需要得到当前的显示模式是在控制器中移动. 我的问题是:我有2个部分视图 /Views/Shared/ListItem.cshtml/Views/Shared/ListItem.mobile.cshtml 当使用PartialView(“ListItem”)这是正确的工作.但是我需要将部分浏览放在子文件夹中 /Views/Shared/Modules/Post/Li 我正在开发移动Web应用程序.我需要得到当前的显示模式是在控制器中移动.

我的问题是:我有2个部分视图

/VIEws/Shared/ListItem.csHTML/VIEws/Shared/ListItem.mobile.csHTML

当使用PartialVIEw(“ListItem”)这是正确的工作.但是我需要将部分浏览放在子文件夹中

/VIEws/Shared/Modules/Post/ListItem.csHTML/VIEws/Shared/Modules/Post/ListItem.mobile.csHTML

当我使用PartialVIEw(“〜/ VIEws / Shared / Modules / Post / ListItem.csHTML”)这个工作在桌面上.当displaymode是移动的,ListItem.mobile.csHTML不显示.

我的选择是

if( CurrentdisplayMode==Mobile){  PartialVIEw("~/VIEws/Shared/Modules/Post/ListItem.mobile.csHTML");else  PartialVIEw("~/VIEws/Shared/Modules/Post/ListItem.csHTML");

如何获取CurrentdisplayMode?
如何解决这个问题?

解决方法 我还需要访问当前的显示模式,所以我可以调整传递给视图的视图模型(在移动视图中更少的信息,因此它可以从较小的视图模型显示).

ControllerContext.displayMode不能使用,因为它将在 *** 作执行后设置.

因此,您必须根据上下文(用户代理,cookie,屏幕大小等)确定显示模式.

这是一个nice trick I found on the ASP.NEt forums,它将让您使用与以后被框架使用的相同的逻辑来确定显示模式:

public string GetdisplayModeID(){    foreach (var mode in displayModeProvIDer.Instance.Modes)        if (mode.CanHandleContext(httpContext))            return mode.displayModeID;    throw new Exception("No display mode Could be found for the current context.");}
总结

以上是内存溢出为你收集整理的c# – 如何获取当前的显示模式在mvc4中是移动的全部内容,希望文章能够帮你解决c# – 如何获取当前的显示模式在mvc4中是移动的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1237157.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存