默认情况下,WSS在网站中使用一种上下交错的重定向机制。Mobile主页是在传统的URL后面多了 一个"m"文件夹(比如,http(S)://Server/sites/Site/m/ )用来重定向请求至mobile的default.aspx页。然后该default.aspx页会将用户重定向到实际的主页。根据目前站点定义的类型, 会依次进行下列处理:

  1. default.aspx中仅放置了一个控件,他告诉运行时寻找名为"MobileHomePageRedirect"的RenderingTemplate。
  2. 运 行时会搜索所有位于Local_Drive:\Programe Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES下的*.ascx文件,通过RenderingTemplate找到该 名称。最终会在MobileDefaultTemplates.ascx文件中找到一个。
  3. MobileHomePageRedirect控件的Template属性将运行时指向一个SPMobileWebUrlRedirect类的对象。
  4. SPMobileWebUrlRedirect 对象用Mobile_SiteTypeID_HomePage_Redirect的方式构建了另一个RenderingTemplate的名称,其中 SiteTypeID是WSS站点定义的名称,比如STS,或一个自定义站点定义的ID号,比如10001。(要查找有关mobile网站重定向的更多信 息,可以参考SPMobileWebUrlRedirect中的备注节)
  5. 通过第二个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主页。

步骤:

  1. 创建一个自定义的mobile主页;比如,MyHome.aspx。
  2. 将新主页放置在下列目录中:
    Local_Drive:\Programe Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\MOBILE
  3. 创建一个自定义控件模板文件。比如,MyMobileControlTemplate.ascx(内容参考下面的例子)
  4. 将新控件模板放置在下面的目录:
    Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES
  5. 重启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属性中设定的。

重要提醒

在站点定义文件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如何通过重定向来定制主页相关推荐

  1. 【Unity Shaders】Mobile Shader Adjustment —— 为手机定制Shader

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  2. WinCE 和Win Mobile的关系

    1 windows mobile和wince的区别: wince是一种嵌入式操作系统, 但是微软并没有提供一个标准的定型的wince系统, 而是提供了一套工具(pb), 让用户自己定制出适合自己硬件和 ...

  3. qq浏览器主页_安卓浏览器哪家强?这些小众好用的手机浏览器你知道吗

    前言 无论手机还是电脑,浏览器都可以说是最重要的软件之一了.最流行的 Chrome 和 Firefox,国内常见的还有 UC.QQ.360 浏览器等. 手机上可供选择的优秀浏览器还有很多,这次就推荐些 ...

  4. Spring Cloud实战小贴士:Zuul处理Cookie和重定向

    由于我们在之前所有的入门教程中,对于HTTP请求都采用了简单的接口实现.而实际使用过程中,我们的HTTP请求要复杂的多,比如当我们将Spring Cloud Zuul作为API网关接入网站类应用时,往 ...

  5. Windows Mobile 5.0

    自上星期以来,开始系统化的学习Windows Mobile 5.0,希望通过系统化的学习,能够掌握移动开发. Mobile 5.0开发配置: 软件安装顺序: 1. 安装Microsoft Active ...

  6. spring boot-302重定向

    文章目录 302重定向 1. 返回redirect 2. HttpServletResponse重定向 302重定向 SpringBoot系列教程web篇之重定向 參考URL:https://www. ...

  7. 10款WordPress的插件让你的网站的移动体验

    随着科技的不断发展,需要改变营销策略的一个企业就变得非常重要.你不能指望用你的营销工具来留住你的客户.智能手机和平板电脑已经改变了消费者的行为方式.现在,人们甚至不想去他们的电脑或笔记本电脑,以检查产 ...

  8. 临近年关,修复ASP.NET Core因浏览器内核版本引发的单点登录故障

    临近年关,咨询师提出360.搜狗急速浏览器无法单点登录到公司核心产品WD: 重定向过多. 现象 经过测试, 出现单点登陆故障的是搜狗.360等双核浏览器(默认使用Chrome内核), 较新式的Edge ...

  9. Cookie Theft and Session Hijacking

    Updates 2014-08-17 感谢@搞前端的crosser的提醒,加入了HTTP Response Splitting的内容. 此篇文章的Presentation戳这里. 一.cookie的基 ...

  10. 网站安全之——Cookie窃取和 Session劫持

    转自:http://shaoshuai.me/tech/2014/08/16/cookie-theft-and-session-hijacking.html 转自:https://github.com ...

最新文章

  1. 基于MATLAB的RSSI 和 PLE 定位算法,并通过卡尔曼滤波器减少非视距误差
  2. MySQL INSERT INTO...ON DUPLICATE KEY UPDATE的使用
  3. 在Kubernetes上运行SAP UI5应用(下): 一个例子体会Kubernetes内容器的高可用性和弹性伸缩
  4. pycharm 离线安装插件
  5. eclipse web项目页面显示404_404 Not Found错误页面是什么?
  6. AngularJs 1.5 $location获取url参数
  7. JS组件系列——两种bootstrap multiselect组件大比拼
  8. python安装后没有命令_Python的下载安装
  9. 前端使用工具sublime text 3下载
  10. [Java并发编程(三)] Java volatile 关键字介绍
  11. 一道abc+cba=1333的问题
  12. The word 'localhost' is not correctly spelled 这个问题怎么解决
  13. 躲避校园网客户端的检测实现客户端移动热点开启
  14. Java里的数组冒泡排序代码
  15. python3爬取torrent种子链接实例
  16. iOS根据ts文件路径封装成m3u8文件及m3u8播放
  17. 微信小程序全栈开发实践 第一章 重新认识微信小程序、及新功能介绍
  18. Java 库 Failsafe 2.0 发布,支持组合弹性策略
  19. link标签的real属性理解
  20. sql查看mysql表结构_MySQL 查看表结构简单命令

热门文章

  1. java 垃圾回收入门
  2. 获取指定域名的IP地址
  3. 【经验之谈】SAP中的普通屏幕使用定制控制
  4. redis sentinel 哨兵
  5. SDWebImage常用方法及原理
  6. 通过Ajax进行POST提交JSON类型的数据到SpringMVC Controller的方法
  7. windows和linux文件输 - ftp
  8. 游戏服务端引擎(kbengine完整代码+demo源码)
  9. Android开源框架Universal-Image-Loader完全解析(三)
  10. Vue.js 安装及其环境搭建,webpack-simple支持热更新