sharepoint根据不同用户更换不同的模板页
2011-04-18 23:31
330 查看
在我们基于SharePoint 2007/2010进行扩展和自定义开发的过程中,我们可能会遇到这样的需求:根据当前登录的用户,为该用户加载起个性化的母版页。下面就来介绍实现这一需求的过程。
1. 使用 UserControl
刚得到这一需求的时候,首先想到的是创建一个UserControl,这UserControl里进行母版页的切换。经过测试,这是行不通的,尽管我们可以在这里面实现对页面样式的修改,但我们不能切换母版页了。这是因为,一旦ASP.NET页面生命周期过了OnInit后,母版页(Master Page)就被锁住并且不能更改了。
2. 使用HttpModule
这是我们实现母版页切换最常用的方式。我们可以在ASP.NET页面生命周期的PreInit方法里注册一个HttpModule的事件处理程序,在这里我们可以实现对母版页的切换,因为HttpModule可以拦截页面初始化时的事件。
在下面的实例代码中,我在Init方法里首先为PreRequestHandlerExecute事件注册一个处理程序。在PreRequestHandlerExecute 事件处理程序应用的方法里面,HttpModule类判断来自ASP.NET页面的请求是不是基于HttpHandler对象的请求。只有派生自Page的请求,HttpModule才会从PreInit事件里注册一个事件处理程序。
下面的代码是为登录的用户切换母版页。
View Code
<add name="CustomHttpModule" type="SwitchMasterPage.CustomHttpModule, SwitchMasterPage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7ebdb1031dfc1e406"/>
【转】http://www.cnblogs.com/Jayan/archive/2011/04/06/2003905.html
1. 使用 UserControl
刚得到这一需求的时候,首先想到的是创建一个UserControl,这UserControl里进行母版页的切换。经过测试,这是行不通的,尽管我们可以在这里面实现对页面样式的修改,但我们不能切换母版页了。这是因为,一旦ASP.NET页面生命周期过了OnInit后,母版页(Master Page)就被锁住并且不能更改了。
2. 使用HttpModule
这是我们实现母版页切换最常用的方式。我们可以在ASP.NET页面生命周期的PreInit方法里注册一个HttpModule的事件处理程序,在这里我们可以实现对母版页的切换,因为HttpModule可以拦截页面初始化时的事件。
在下面的实例代码中,我在Init方法里首先为PreRequestHandlerExecute事件注册一个处理程序。在PreRequestHandlerExecute 事件处理程序应用的方法里面,HttpModule类判断来自ASP.NET页面的请求是不是基于HttpHandler对象的请求。只有派生自Page的请求,HttpModule才会从PreInit事件里注册一个事件处理程序。
下面的代码是为登录的用户切换母版页。
View Code
<add name="CustomHttpModule" type="SwitchMasterPage.CustomHttpModule, SwitchMasterPage, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7ebdb1031dfc1e406"/>
【转】http://www.cnblogs.com/Jayan/archive/2011/04/06/2003905.html
相关文章推荐
- SharePoint 2010 利用JavaScript根据用户使用的语言应用不同的样式
- 在SharePoint中,根据登录用户加载不同的母版(Master Page)
- 在SharePoint中,根据登录用户加载不同的母版(Master Page)
- SharePoint 2010根据不同的用户权限显示不同的导航
- SharePoint【学习笔记】-- SharePoint 2010 利用JavaScript根据用户使用的语言应用不同的样式
- 在SharePoint中,根据登录用户加载不同的母版(Master Page)
- SharePoint 2010 根据不同的用户权限显示不同的导航
- YII 动态更换主题PC手机不用模板,不同用户使用不同的主题
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单
- ASP.NET导航控件TreeView根据登录用户显示不同的菜单
- web知识-根据用户的设备自动选择质量不同的图片。
- Asp.net web 根据不同的用户权限显示不同的菜单
- 碎步一:根据用户喜好选择不同背景图(背景选择器)
- 【Sharepoint对象模型】MOSS中根据列表模板添加列表
- DataTemplate-根据条件选择不同模板
- nodejs - 根据用户地址不同 返回不同数据
- 模板 traits的一个经典例子 , 解决 void func(T t)根据t的类型不同来做不同的实现
- java运用itextpdf实现根据模板生成合同并返回网络路径,供用户查看
- SharePoint 2010 calendar inbox folder web part 针对不同用户
- sharepoint 2010 根据指定用户UserID查询该用户列表数据