ASP.NET MVC移动端识别

上面我们已经说了 响应式布局,但那是客户端的,针对于同一个视图页面的。不过 同一个视图页面 通过响应式布局 也是有缺点的 会导致页面 样式十分庞大 页面加载效率降低,而且只能 做局部的调整,如果 要做

大的调整 会比较复杂 或根本就不可能实现。

那我们有没有别的办法。答案是有的。如果我们 可以在后台 识别 请求过来的是  PC端 还是移动端,然后 加载不同的视图。这样  我们就可以有多 份视图。还好 我们伟大的ASP.NET MVC里面是很好实现的。你只要在你的请求的视图 在复制一个 改名为.Mobile.cshtml如:_Layout.cshtml和_Layout.Mobile.cshtml。没了?对 的 ,没了。如果是 移动端的请求 那么会自动请求_Layout.Mobile.cshtml如果是PC端 那么会自动请求_Layout.cshtml 。

这样 我们就可以针对两大类 再做响应式布局。

有人会说,我们在本地开发 都是PC端请求。那么我们怎么测试移动端的效果呢?一定要发布到线上 然后用手机测试?那多麻烦啊,每改一个样式都要 发布一次。好吧,我再告诉你一个 诀窍。在PC端 伪装成移动端直接在

////打开注释 默认 是 移动端 显示效果
//DisplayModeProvider.Instance.Modes.RemoveAt(0);
//DisplayModeProvider.Instance.Modes.Insert(0,
// new DefaultDisplayMode("Mobile")
// {
// ContextCondition = Context => true
// }
// );

  

PC端看移动端的效果。看下面的代码,复制到Global.asax文件的MvcApplication方法里面。打开注释 就是 默认显示 移动端效果。发布的时候记得注释掉。

MVC 移动识别的更多相关文章

  1. spring mvc 4识别浏览器(移动端) spring-mobile-device

    官方文档: http://projects.spring.io/spring-mobile/ 通过mvc.xml配置示例: http://blog.csdn.net/wuyt2008/article/ ...

  2. mvc ef LINQ to Entities 不识别方法“Int32 Parse(System.String)”,因此该方法无法转换为存储表达式。

    private sys_User GetUserInfo() { sys_User model = null; var userId = Convert.ToInt32(AccountHelper.G ...

  3. ASP.NET MVC下的四种验证编程方式

    ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定 ...

  4. ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers

    阅读目录 序言 内置的HTML Helpers 创建自定义的Helpers 使用静态方法创建Helpers 使用扩展方法创建Helpers 创建Fluent Helpers 创建自动闭合的Helper ...

  5. Asp.net MVC 4新项目中创建area的后续操作

    Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...

  6. MVC Bootstrap Helpers

    ASP.NET MVC Bootstrap Helpers   阅读目录 序言 内置的HTML Helpers 创建自定义的Helpers 使用静态方法创建Helpers 使用扩展方法创建Helper ...

  7. Mvc数据验证总结

    Mvc提供模型级数据验证 一.服务端验证: ModelState.IsValid ModelState.AddModelError("Name", "错误提示" ...

  8. 朱晔和你聊Spring系列S1E4:灵活但不算好用的Spring MVC

    阅读PDF版本 本文会以一些例子来展现Spring MVC的常见功能和一些扩展点,然后我们来讨论一下Spring MVC好用不好用. 使用SpringBoot快速开始 基于之前的parent模块,我们 ...

  9. Spring MVC 基于Method的映射规则(注解版)

    在Restful风格的web开发中,根据不同的请求方法使用相应的控制器处理逻辑成为核心需求,下面就看看如何在Spring MVC中识别不同的请求方法. 请求方法 在Http中,请求的方法有很多种,最常 ...

随机推荐

  1. DBsever工具连接mysql数据库

    当我们安装网DBeaver的时候,怎么通过这个工具来连接Mysql数据库呢 像这个地方就按平时你的数据库信息输入就可以了 接下来配置JDBC的内容 重点说一下驱动包的版本问题,因为我安装的mysql是 ...

  2. Spring中Bean及@Bean的理解

    Spring中Bean及@Bean的理解 Bean在Spring和SpringMVC中无所不在,将这个概念内化很重要,下面分享一下我的想法: 一.Bean是啥 1.Java面向对象,对象有方法和属性, ...

  3. 01 Python 逻辑运算

    #基本运算符 #and or not #优先级 ()>not>and>or #and or not print(2>1 and 1<4 or 2<3 and 9&g ...

  4. leetcode1027

    最直接的思路是三层循环,但是会超时,代码如下: public class Solution { public int LongestArithSeqLength2(int[] A) { ; var l ...

  5. web和app的简单测试区别和工具介绍

    首先说一下我对Web自动化测试与CS自动化测试的认识.从宏观对比都是通过脚本自动化完成功能的验证,区别不大.Web测试更为显著的浏览器兼容性.安全,以及与Web技术相关的表单测试.链接测试等,其实都是 ...

  6. Linux命令:readonly

    readonly [-aAf] [name[=value] ...] or readonly -p -A 表示后面的name变量都是关联数组 -a 表示后面的name变量都是index数组 -f 表示 ...

  7. Linux的Namespace与Cgroups介绍

    Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...

  8. EntityFrameworkCore DBFirst

    需要引用如下nuget包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityF ...

  9. OpenCV常用数据类型

    Point 二维点坐标(x,y) typedef Point3_<int> Point3i; typedef Point3_<float> Point3f; typedef P ...

  10. VueJs相关学习网址

      麦子学院 http://www.maiziedu.com/course/916/   慕课网-vue.js入门基础 https://www.imooc.com/learn/694   查阅的网址 ...