(1)在<head>和</head>之间插入代码。
<meta name="viewport" content="width=device-width, initial-scale=1" /> 

width - viewport的宽度 height - viewport的高度

initial-scale - 初始的缩放比例

minimum-scale - 允许用户缩放到的最小比例

maximum-scale - 允许用户缩放到的最大比例

user-scalable - 用户是否可以手动缩放

 
问题:在浏览器手机模式调试时可能正常,但在真机调试上其实是不正常的。
 
 

(2)Asp.Net MVC 从第四版开始就支持移动端了。通过设置HttpContext.Cahce和HttpContext.Items来调整需要输出设别的现实模式,通过DisplayModel自动识别当前设备是PC端还是Mobile端。PC意是指电脑端,Mobile可以是安卓,塞班,苹果或者已经被淘汰的WinPhone.

当调用ViewResultBase的ExecuteResult函数寻找ViewEngineResult的时候,VirtualPathProviderViewEngine调用FindView 。

代码如下:IEnumerable<IDisplayMode> possibleDisplayModes = DisplayModeProvider.GetAvailableDisplayModesForContext(controllerContext.HttpContext, controllerContext.DisplayMode);

如果当前网页是PC端possibleDisplayModes会会被一个空的默认的DefaultDisplayMode填充,然后通过构建当前程序集标识把得到的虚拟路径存入Contexx.Cache。如果当前是移动端,通过Context.Cache搜寻到上次缓存的预留项,返回给当前视图引擎ViewEngine,最后呈现出各种设备所不同的结果。

.Net MVC的移动端原理就这么多了。看似似乎有点麻烦,由于微软高度的抽象,所有实现起来非常容易。

假如说,你当前有个控制器HomeController,里面有个Index方法。

public class HomeController : Controller
{
[HttpPost]
public ActionResult Index(Models.DemoModel DL)
{
return View();
}

[HttpGet]
public ActionResult Index()
{
return View();
}

视图的虚拟路径应该为 View/Home/Index.cshtml。

我们要做的就是在 View文件夹下面添加一个Index.Mobile.csthml页面。

所有工作至此结束了,如果你是PC端,你访问Home/Index的时候,他会自动识别和展示Index.cshtml视图,如果你访问的是移动端,他也会自动调整页面模式现实为Index.Mobile.cshtml。

注意:Mobile是关键字,不能随意更改。

如果你想要做出漂亮的手机端页面,你可以引入 JQuery Mobile类库,在Cshtml里面开发出各种绚丽的效果
 
方法2原文链接:https://blog.csdn.net/tangyanzhi1111/article/details/81588397

https://www.infoq.cn/article/Hybrid-Mobile-Apps-MVC/ 一个案例

asp.net 页面,文字自适应手机屏幕的更多相关文章

  1. 移动页面HTML5自适应手机屏幕宽度

    标签: 网上关于这方面的文章有很多,重复的东西本文不再赘述,仅提供思路,并解释一些其他文章讲述模糊的地方. 1.使用meta标签,这也是普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的, ...

  2. HTML5 移动页面自适应手机屏幕四类方法

    1.使用meta标签:viewport H5移动端页面自适应普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统. ...

  3. 》》HTML5 移动页面自适应手机屏幕四类方法

    1.使用meta标签:viewport H5移动端页面自适应普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容所有浏览器或系统. ...

  4. 移动端H5页面自适应手机屏幕宽度

    1.由于本人使用的是sublime.text,使用rem就可以达到效果. 点击菜单中的preferences下的browse packages,选择cssrem-master,添加或者编写cssrem ...

  5. web页面自适应手机屏幕宽度

    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...

  6. flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度

    问题:手机端项目在华为的某款手机上显示时页面内容没有自适应手机宽度,出现横向滚动条 原因:手机获取手机屏幕宽度并计算出rem时出现偏差,明显宽余真实手机屏宽度 解决方案一:在页面里获取页面最外层dom ...

  7. WAP网站WML或HTML页面自适应手机屏幕实现方法

     把图片和div的宽度都设置成:width:100%就可以了

  8. 使PC端网页宽度自适应手机屏幕大小

    有时候我们会纠结PC页面在手机页面上无法正常显示,超出屏幕,有些内容看不到,现在又了下面的代码,可以做到自适应手机端的屏幕宽度: 在html的<head>中增加一个meta标签: < ...

  9. 移动端页面按手机屏幕分辨率自动缩放的js

    <script> var phoneWidth = parseInt(window.screen.width); var phoneHeight = parseInt(window.scr ...

随机推荐

  1. 几个常用markdown工具的主要优缺点

    几个常用markdown工具的主要优缺点 最近对几个热门的markdown工具做了一个对比表 表格 脚注 图片和图床 平台 移动端 实时预览 收费 操作难度 导出功能 mweb 非常棒 预览正常显示 ...

  2. 字节码暴力破解censum(老版本)

    声明 事先声明,本文仅提供破解方法以供个人及读者们学习Java字节码,不提倡破解程序. 本文是个人学习掘金小册张师傅的<JVM字节码从入门到精通>后,作为一个实践的记录,并无恶意. 关于c ...

  3. MeteoInfoLab脚本示例:Maskout图形

    Maskout通常有两种类型:Maskout图形和Maskout数据.这里是Maskout图形的示例.需要用shaperead读取地图数据形成图层作为Maskout图层(这里是中国的行政区域china ...

  4. 身为电气人,为什么也要学习C语言编程?人生苦短,我学编程!

    说起编程大家可能都听过,但编程究竟是怎么一回事你弄懂了吗? 编程=对计算机程序进行编写,这些程序可以是现在手里拿着的手机.办公的电脑.你点击的页面.浏览的网页,都是有程序让它执行你要它做的事情. PL ...

  5. 新手学习C语言/C++编程你所必须要了解的知识!从计算机原理开始!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  6. Linux如何在vim里搜索关键字

    例如搜索 the写法:/the     +回车 /+关键字 ,回车即可.此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置: ?+关键字,回车即可.此为从文档挡圈位置向上查找关键字,按n键向 ...

  7. phpexcel导出数据 出现Formula Error的解决方案

    phpexcel导出数据报错 Uncaught exception 'Exception' with message 'Sheet1!A1364 -> Formula Error: Unexpe ...

  8. 本地ssh快速登录 ssh免密登录

    每次登录都要ssh -p wang@xx.xx.xx.xx 虽然做了公钥验证 https://www.cnblogs.com/php-linux/p/10795913.html 不需要输入密码,但是每 ...

  9. vue实现循环滚动列表vue-seamless-scroll

    1.安装 vue-seamless-scroll   实例文档链接 cnpm install vue-seamless-scroll --save 2.文件中引入,组件配置 import vueSea ...

  10. Java 中的 3 个双引号是什么语法?Java 15 刷新你的认知!

    Java 中的 3 个双引号 """ 是什么语法? 这是 Java 15 新出的,刷新你的认知! 一.前言 在 Java 15 的推出的时候,Text Blocks 正式 ...