DisplayModeProvider完成移动开发自动视图解析
MVC中新建视图命名:XXX.cshtml、XXX.mobile.cshtml;用手机访问会自动到xxx.mobile.cshtml
一、原理
MVC中是通过DisplayModeProvider实现View override从而实现自动解析到对应视图页面
默认有两个Mobile和“”,会根据浏览器的User-Agent判断跳转到哪个视图
也可以使用下面的方式重写,视图命名规则:xxx.DisplayModeName.cshtml则可以实现自动解析到对应的视图
protected void Application_Start()
{
……
…… DisplayModeProvider.Instance.Modes.Insert(,
new DefaultDisplayMode("FF")
{
ContextCondition = (context => ((context.GetOverriddenUserAgent() != null)
&& context.Request.Browser.IsMobileDevice)&&context.GetOverriddenUserAgent().IndexOf
("Firefox", StringComparison.OrdinalIgnoreCase) >= ))
}); DisplayModeProvider.Instance.Modes.Insert(,
new DefaultDisplayMode("Chrome")
{
ContextCondition = (context => ((context.GetOverriddenUserAgent() != null)
&& context.Request.Browser.IsMobileDevice)&&context.GetOverriddenUserAgent().IndexOf
("Chrome", StringComparison.OrdinalIgnoreCase) >= ))
}); ……
……
二、Chrome修改User-Agent


DisplayModeProvider完成移动开发自动视图解析的更多相关文章
- spring注解式开发之视图解析器
http://localhost:8089/springmvc-04-viewResovler/springmvc/hello
- [转载]开发 Spring 自定义视图和视图解析器
原文出处 http://www.ibm.com/developerworks/cn/java/j-lo-springview/ 概述 Spring 3.0 默认包含了多种视图和视图解析器,比如 JSP ...
- Form_Form Builder开发基于视图页面和自动代码生成包(案例)
2014-01-06 Created By BaoXinjian
- 【Java Web开发学习】Spring4整合thymeleaf视图解析
[Java Web开发学习]Spring4整合thymeleaf视图解析 目录 1.简单介绍2.简单例子 转载:https://www.cnblogs.com/yangchongxing/p/9111 ...
- springmvc配置式开发下的视图解析器
多个视图解析器优先级:
- 7.SpringMVC 配置式开发-ModelAndView和视图解析器
ModelAndView 1.Model(模型) 1.model的本质就是HashMap,向模型中添加数据,就是往HashMap中去添加数据 2.HashMap 是一个单向查找数组,单向链表数组 3. ...
- SpringMVC 视图和视图解析器&表单标签
视图和视图解析器 请求处理方法执行完成后,最终返回一个 ModelAndView 对象.对于那些返回 String,View 或 ModeMap 等类型的处理方法,Spring MVC 也会在内部将它 ...
- 【SpringMVC笔记】第五课 改进Handler处理器和视图解析器
第四课 已经对注解的映射器和适配器进行了改进. 接下来需要对Handler处理器和视图解析器进行改进. <!-- 配置handler处理器 --> <bean class=" ...
- springmvc返回视图(解析)
1.什么是视图? 视图就是展示给用户看的结果.可以是很多形式,例如:html.JSP.excel表单.Word文档.PDF文档.JSON数据.freemarker模板视图等等. 2.传统JSP和JST ...
随机推荐
- Redis 集群_主从复制_哨兵模型
1 redis集群简介 1.1 集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 1.1.1 使用redis集群的必要性 问题:我们已经部署好了 ...
- java输入输出 -- Java NIO之套接字通道
一.简介 前面一篇文章讲了文件通道,本文继续来说说另一种类型的通道 – 套接字通道.在展开说明之前,咱们先来聊聊套接字的由来.套接字即 socket,最早由伯克利大学的研究人员开发,所以经常被称为Be ...
- php实现支付宝在线支付和扫码支付demo
### php实现支付宝在线支付和扫码支付demo 背景:在做一个公众号时增加了h5端,需要接入支付,非微信环境,选择了支付宝,以下简单记录下实现过程,并做了简单的封装,拿来即可使用,注意:本项目只是 ...
- GB2312 字符集
<信息交换用汉字编码字符集>是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980. GB2312编码适用于汉字处理.汉字通信等系统 ...
- c++学习-----引用
引用相当于给一个对象起个别名 必须初始化 引用只是与一个对象bind,所以引用无法改变 引用不是一个对象,所以没有引用的引用 引用的初始化值必须是一个对象,而不能是字面量或表达式 引用不是地址,所以引 ...
- 15_IO流
IO流 流 流的概念 流(stream)是指一连串流动字节/字符,按照先进先出的方式发送的信息的通道中. 数据源:流入通道中的数据的来源 目的地:流出通道的数据的目的地 输入流和输出流 数据源的数 ...
- linux, kill掉占用60%多cpu的进程,几秒后换个pid 和 command 又出现
linux, kill掉占用60%多cpu的进程,几秒后换个pid 和 command 又出现?快速清理木马流程.假设木马的名字是xysbqaxjqy,如果top看不到,可以在/etc/init.d目 ...
- Oracle复习
这阵子忙着面试 ,之前搞项目一直用的 mysql ,然后面试的大公司!(呵呵)偏偏用的是 oracle 没办法恶补 前面学过的但是没怎么用的Oracle 基础知识,打算主要从下面几点入手. 环境搭建: ...
- Array + two points leetcode.18 - 4Sum
题面 Given an array nums of n integers and an integer target, are there elements a, b, c, and d in num ...
- Dephi 10.3.3试用报告
官方没有正式发布,但出了下载及keygen,具体内容我在这篇内容写了:Delphi 10.3.3最新消息 . 也可以去Delphi多层开发交流QQ群:209321818找相关的keygen. 今早来就 ...