|
***********************************************************************************
* 版权声明
* 此文章为ocean所有,版权归ocean所有,任何网站
*和 媒体转载必须包含此段声明,否则将视为侵权,作者将
* 保留一切权力。此声明为此文章中不可或缺的一部分。
* 作者网名:ocean
* 作者email:[url=mailtocean@forever.net.cn]ocean@forever.net.cn[/url]
* 作者网站:http://www.oceanstudio.net
* http://sps.oceanstudio.net
* 作者blog:博客园,http://www.cnblogs.com/ocean
* ocean's blog,http://www.oceanstudio.net/sps/blog
* 此文章发表时间:2005年2月3日
* 此文章源:http://www.cnblogs.com/ocean/archive/2005/02/03/101434.html
************************************************************************************
这个WebPart点击此处下载,带源码。
可以从这里看效果演示
最近看到一个老外写的一个Flash播放器的WebPart,感觉这些WebPart写起来很简单,正好也希望给初学者介绍一下如何进行WebPart的开发。我也没写过几个WebPart,因为实际上WebPart的开发是师傅领进门,修行在个人。很多初学Sharepoint的对WebPart开发摸不着头脑。实际WebPart写起来很简单,但是准备工作比较复杂,包括安装模板,引用dll,部署,调试等。这些东西我在后面的一篇文章中会介绍。另外就是WebPart的开发需要多看看sharepoint的sdk,里面讲解了组件模型,如果你的WebPart不引用任何SPS库对象(比如这个Flash WebPart),那么写起来就更简单了。
首先如何写WebPart,在新建了一个WebPart的项目之后,默认就生成了一个WebPart,这个WebPart本身就能够编译成功,当然这个WebPart是一个空的WebPart。什么功能也没有。
WebPart的呈现是靠RenderWebPart这个方法实现的,这个方法有一个output参数,只要通过output将需要呈现的HTML输出出来就可以了。熟悉asp的朋友可能很熟悉这种方式,就像用asp的Response一样。因为WebPart的呈现无法用可视化的开发。当然利用Kaneboy做的用户控件包装器可以简单的将一个用户控件包装成WebPart。
OK,那么该如何呈现呢,其实Flash的呈现代码很简单,就是输出一个object标签,然后设置flash的url、width、height等属性。那么我们需要设置哪几个属性呢?是Flash url、Width、Height、Quality、CabVersion(CAB的版本)这五个属性。
这五个属性定义如下:
<DIV>private string url = "";
[Browsable(true),
Category("Flash属性"),
DefaultValue(""),
WebPartStorage(Storage.Personal),
FriendlyName("Flash Url"),
Description("Flash动画的Url")]
public string Url
{
get
{
return url;
}
set
{
url = value;
}
}
private int width = 100;
[Browsable(true),
Category("Flash属性"),
DefaultValue(100),
WebPartStorage(Storage.Personal),
FriendlyName("Flash的显示宽度(px,0表示原大小)"),
Description("Flash动画的宽度")]
public int FlashWidth
{
get
{
return width;
}
set
{
width = value;
}
}
private int height = 100;
[Browsable(true),
Category("Flash属性"),
DefaultValue(100),
WebPartStorage(Storage.Personal),
FriendlyName("Flash的显示高度(px,0表示原大小)"),
Description("Flash动画的高度")]
pu |
|