Mobile如何通过重定向来定制主页
默认情况下,WSS在网站中使用一种上下交错的重定向机制。Mobile主页是在传统的URL后面多了 一个"m"文件夹(比如,http(S)://Server/sites/Site/m/ )用来重定向请求至mobile的default.aspx页。然后该default.aspx页会将用户重定向到实际的主页。根据目前站点定义的类型, 会依次进行下列处理:
- default.aspx中仅放置了一个控件,他告诉运行时寻找名为"MobileHomePageRedirect"的RenderingTemplate。
- 运 行时会搜索所有位于Local_Drive:\Programe Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES下的*.ascx文件,通过RenderingTemplate找到该 名称。最终会在MobileDefaultTemplates.ascx文件中找到一个。
- MobileHomePageRedirect控件的Template属性将运行时指向一个SPMobileWebUrlRedirect类的对象。
- SPMobileWebUrlRedirect 对象用Mobile_SiteTypeID_HomePage_Redirect的方式构建了另一个RenderingTemplate的名称,其中 SiteTypeID是WSS站点定义的名称,比如STS,或一个自定义站点定义的ID号,比如10001。(要查找有关mobile网站重定向的更多信 息,可以参考SPMobileWebUrlRedirect中的备注节)
- 通过第二个RederingTemplate,运行时再次搜索 ...\12\TEMPLATE\CONTROLTEMPLATES下的所有*.ascs文件。
- 如 果SiteTypeID为BLOG,运行时将从MobileDefaultTemplate.ascx中找到 Mobile_BLOG_HomePage_Redirect RenderingTemplate。该控件的Template属性将运行时指向一个SPMobileUrlRedirection类的对象,该对象的 PageFileName属性指定了bloghome.aspx为最终的主页。
- 如 果SiteTypeID不是BLOG,且没有创建自定义的.ascx文件,运行时将使用MobileDefaultTemplate.ascx中的 Mobile_Default_HomePage_Redirect RenderingTemplate。该控件的Template属性将运行时指向一个SPMobileUrlRedirect类的对象,其 PageFileName属性指定mbllists.aspx为最终的主页。
您可以创建一个自定义控件来将用户重定向到您预先设计好的mobile主页。
步骤:
- 创建一个自定义的mobile主页;比如,MyHome.aspx。
- 将新主页放置在下列目录中:
Local_Drive:\Programe Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\MOBILE - 创建一个自定义控件模板文件。比如,MyMobileControlTemplate.ascx(内容参考下面的例子)
- 将新控件模板放置在下面的目录:
Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES - 重启IIS,然后浏览网站看看定制的效果。
注意:
如果您是在电脑上用mobile设备模拟器,而不是实际的mobile设备,您可能还需要在每次修改好后删除internet临时文件来保证看到的是页面的新版本。
例子
下面的例子展示了一个自定义.ascx文件的内容(比如,MyMobileControlTemplate.ascx)其中定义了一个控件模板。当 mobile设备访问一个使用"MySiteType"站点定义的网站时,运行时将被导向到主页MyHome.aspx。注意该定制文件的下面几点内容:
- 所有带“%@”标记的语句都是公式化的套话,在所有的定制页面中都是如此。
- “MySiteType”可以是:
- 工作组站点定义的名称:“STS”。MPS,CENTRALADMIN,和WIKI站点定义不支持通过mobile设备来访问。BLOG站点定义可以通过mobile设备来访问,但是已经有一个名为Mobile_BLOG_HomePage_Redirect 的RenderingTemplate,定义在MobileDefaultTemplates.ascx文件中。您不可以修改该文件。您可以在自定义的.ascx文件中创建第二个RenderingTemplate也命名为Mobile_BLOG_HomePage_Redirect,但是这样会有破坏现有其他基于已有Mobile_BLOG_HomePage_Redirect 的定制或第三方解决方案的风险。
注意:
WSS内置的RenderingTemplate会先加载,所以当相同名称的自定义模板加载时会覆盖标准的渲染模板。如果两个或更多的自定义 RenderingTemplate具有相同的名称,则按文件名的字母顺序排在最后的将会覆盖其他的。给定文件中包含两个或更多的同名模板的,这些模板都 不会被加载。
注意:
网站定义的名称是在WebTemp.xml文件的Template元素的Name属性中设定的。 - 任何已创建的自定义网站定义的ID号(不是Name)
注意:
网站定义的ID号是在WebTemp.xm文件的Template元素的ID属性中设定的。
- 工作组站点定义的名称:“STS”。MPS,CENTRALADMIN,和WIKI站点定义不支持通过mobile设备来访问。BLOG站点定义可以通过mobile设备来访问,但是已经有一个名为Mobile_BLOG_HomePage_Redirect 的RenderingTemplate,定义在MobileDefaultTemplates.ascx文件中。您不可以修改该文件。您可以在自定义的.ascx文件中创建第二个RenderingTemplate也命名为Mobile_BLOG_HomePage_Redirect,但是这样会有破坏现有其他基于已有Mobile_BLOG_HomePage_Redirect 的定制或第三方解决方案的风险。
重要提醒:
在站点定义文件Onet.xml中站点定义配置的Configuration元素必须具有一个WebFeature元素,并且该元素必须包含到以下这个Feature元素的重定向:
<Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />(注:这是继承自STS网站定义的标志)。
C#
<%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %><SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_MySiteType_HomePage_Redirect"><Template><SPMobile:SPMobileUrlRedirection RunAt="Server" PageFileName="MyHome.aspx" /></Template></SharePoint:RenderingTemplate>
转载:http://www.cnblogs.com/Sunmoonfire/archive/2008/07/10/1239638.html
转载于:https://www.cnblogs.com/EricLee007/archive/2012/06/07/2540274.html
Mobile如何通过重定向来定制主页相关推荐
- 【Unity Shaders】Mobile Shader Adjustment —— 为手机定制Shader
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- WinCE 和Win Mobile的关系
1 windows mobile和wince的区别: wince是一种嵌入式操作系统, 但是微软并没有提供一个标准的定型的wince系统, 而是提供了一套工具(pb), 让用户自己定制出适合自己硬件和 ...
- qq浏览器主页_安卓浏览器哪家强?这些小众好用的手机浏览器你知道吗
前言 无论手机还是电脑,浏览器都可以说是最重要的软件之一了.最流行的 Chrome 和 Firefox,国内常见的还有 UC.QQ.360 浏览器等. 手机上可供选择的优秀浏览器还有很多,这次就推荐些 ...
- Spring Cloud实战小贴士:Zuul处理Cookie和重定向
由于我们在之前所有的入门教程中,对于HTTP请求都采用了简单的接口实现.而实际使用过程中,我们的HTTP请求要复杂的多,比如当我们将Spring Cloud Zuul作为API网关接入网站类应用时,往 ...
- Windows Mobile 5.0
自上星期以来,开始系统化的学习Windows Mobile 5.0,希望通过系统化的学习,能够掌握移动开发. Mobile 5.0开发配置: 软件安装顺序: 1. 安装Microsoft Active ...
- spring boot-302重定向
文章目录 302重定向 1. 返回redirect 2. HttpServletResponse重定向 302重定向 SpringBoot系列教程web篇之重定向 參考URL:https://www. ...
- 10款WordPress的插件让你的网站的移动体验
随着科技的不断发展,需要改变营销策略的一个企业就变得非常重要.你不能指望用你的营销工具来留住你的客户.智能手机和平板电脑已经改变了消费者的行为方式.现在,人们甚至不想去他们的电脑或笔记本电脑,以检查产 ...
- 临近年关,修复ASP.NET Core因浏览器内核版本引发的单点登录故障
临近年关,咨询师提出360.搜狗急速浏览器无法单点登录到公司核心产品WD: 重定向过多. 现象 经过测试, 出现单点登陆故障的是搜狗.360等双核浏览器(默认使用Chrome内核), 较新式的Edge ...
- Cookie Theft and Session Hijacking
Updates 2014-08-17 感谢@搞前端的crosser的提醒,加入了HTTP Response Splitting的内容. 此篇文章的Presentation戳这里. 一.cookie的基 ...
- 网站安全之——Cookie窃取和 Session劫持
转自:http://shaoshuai.me/tech/2014/08/16/cookie-theft-and-session-hijacking.html 转自:https://github.com ...
最新文章
- 基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差
- MySQL INSERT INTO...ON DUPLICATE KEY UPDATE的使用
- 在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩
- pycharm 离线安装插件
- eclipse web项目页面显示404_404 Not Found错误页面是什么?
- AngularJs 1.5 $location获取url参数
- JS组件系列——两种bootstrap multiselect组件大比拼
- python安装后没有命令_Python的下载安装
- 前端使用工具sublime text 3下载
- [Java并发编程(三)] Java volatile 关键字介绍
- 一道abc+cba=1333的问题
- The word 'localhost' is not correctly spelled 这个问题怎么解决
- 躲避校园网客户端的检测实现客户端移动热点开启
- Java里的数组冒泡排序代码
- python3爬取torrent种子链接实例
- iOS根据ts文件路径封装成m3u8文件及m3u8播放
- 微信小程序全栈开发实践 第一章 重新认识微信小程序、及新功能介绍
- Java 库 Failsafe 2.0 发布,支持组合弹性策略
- link标签的real属性理解
- sql查看mysql表结构_MySQL 查看表结构简单命令