借力于QuickPart,快速开发IFrameWebPart,三分钟搞定!!
为了能平稳将我们单位的内网门户升级过渡到sharepoint,就需要我自己写一些webpart来满足需求。
要解决的第一个问题就是如何通过新的门户登陆老的OA,我目前不打算使用单点登陆的解决方案,所以构思了一下解决办法:
先在oa部分写一个loginform.asp页面,上面用于登录信息的输入,如下:
在sharepoint门户页面上写一个webpart,通过iframe调用loginform.asp来实现登陆,这样就可以把多种类型的登陆页面统一集中到一个门户页面上了。
说干就干,先在sharepoint server安装的机器上安装quickpart,Kaneboy很贴心,这次的quickpart包中包含了InstallSolution.bat文件,解压后直接运行该文件,就安装好了,下面就是调整站点的web.config文件
把这句
在浏览器中进入sharepoint站点的Web Part Gallery中,点NEW,将
Populate Gallery出来,这时quick part的安装就结束了,下面利用我新安装的visual studio .net 2005 sp1来做一个用户控件。
先新建一个ASP.NET Web 应用程序项目
在项目中添加一个Web用户控件,名为IFrameWebPart,IFrameWebPart.ascx.cs中代码为
IFrameWebPart.ascx文件中的代码为
编译后生成的IFrameWebPart.dll复制到站点根目录下的bin目录中,IFrameWebPart.ascx复制到站点根目录下的wpresources目录中。
然后进入站点的Edit Page模式并Add a Web Part,因为我们的iframe web part是一个普通的web part,所以在弹出的web part选择窗口中选择Quick Part,
编辑刚添加的QuickPart属性,在User Control List中选择IFrameWebPart,Custom Properties列出了我刚定义的用户控件属性,地址里输入一开始写好的用于登陆OA的loginform.asp所在地址,然后确定。
这就是最终效果
废话时间:
今天心情很好,给大家汇报一下俺家附近的一家韩国烧烤小店,味道很正,价格便宜,前两天和朋友去的,发几张照片谗谗大家,嘿嘿!
要解决的第一个问题就是如何通过新的门户登陆老的OA,我目前不打算使用单点登陆的解决方案,所以构思了一下解决办法:
先在oa部分写一个loginform.asp页面,上面用于登录信息的输入,如下:
在sharepoint门户页面上写一个webpart,通过iframe调用loginform.asp来实现登陆,这样就可以把多种类型的登陆页面统一集中到一个门户页面上了。
说干就干,先在sharepoint server安装的机器上安装quickpart,Kaneboy很贴心,这次的quickpart包中包含了InstallSolution.bat文件,解压后直接运行该文件,就安装好了,下面就是调整站点的web.config文件
把这句
<trust level="WSS_Minimal" originUrl="" />
改为<trust level="Full" originUrl="" />
在浏览器中进入sharepoint站点的Web Part Gallery中,点NEW,将
Populate Gallery出来,这时quick part的安装就结束了,下面利用我新安装的visual studio .net 2005 sp1来做一个用户控件。
先新建一个ASP.NET Web 应用程序项目
在项目中添加一个Web用户控件,名为IFrameWebPart,IFrameWebPart.ascx.cs中代码为
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12namespace BoooLee.QuickWebPart.UserControls
13{
14 public partial class IFrameWebPart : System.Web.UI.UserControl
15 {
16 //目标url成员变量
17 private string _SrcUrl;
18
19 protected void Page_Load(object sender, EventArgs e)
20 {
21
22 }
23
24 //目标url属性
25
26 [Personalizable]
27 [WebBrowsable]
28 [WebDisplayName("地址")]
29 [WebDescription("要在IFrame中显示的页面地址.")]
30
31 public string SrcUrl
32 {
33 get{return _SrcUrl;}
34 set{_SrcUrl=value;}
35 }
36 }
37}
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12namespace BoooLee.QuickWebPart.UserControls
13{
14 public partial class IFrameWebPart : System.Web.UI.UserControl
15 {
16 //目标url成员变量
17 private string _SrcUrl;
18
19 protected void Page_Load(object sender, EventArgs e)
20 {
21
22 }
23
24 //目标url属性
25
26 [Personalizable]
27 [WebBrowsable]
28 [WebDisplayName("地址")]
29 [WebDescription("要在IFrame中显示的页面地址.")]
30
31 public string SrcUrl
32 {
33 get{return _SrcUrl;}
34 set{_SrcUrl=value;}
35 }
36 }
37}
IFrameWebPart.ascx文件中的代码为
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="IFrameWebPart.ascx.cs" Inherits="IFrameWebPart.IFrameWebPart" %>
<iframe height="100%" width="100%" src="<%=SrcUrl %>"></iframe>
<iframe height="100%" width="100%" src="<%=SrcUrl %>"></iframe>
编译后生成的IFrameWebPart.dll复制到站点根目录下的bin目录中,IFrameWebPart.ascx复制到站点根目录下的wpresources目录中。
然后进入站点的Edit Page模式并Add a Web Part,因为我们的iframe web part是一个普通的web part,所以在弹出的web part选择窗口中选择Quick Part,
编辑刚添加的QuickPart属性,在User Control List中选择IFrameWebPart,Custom Properties列出了我刚定义的用户控件属性,地址里输入一开始写好的用于登陆OA的loginform.asp所在地址,然后确定。
这就是最终效果
废话时间:
今天心情很好,给大家汇报一下俺家附近的一家韩国烧烤小店,味道很正,价格便宜,前两天和朋友去的,发几张照片谗谗大家,嘿嘿!