惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Security Latest
Security Latest
S
Secure Thoughts
H
Heimdal Security Blog
The Last Watchdog
The Last Watchdog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security Affairs
PCI Perspectives
PCI Perspectives
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
爱范儿
爱范儿
腾讯CDC
P
Privacy & Cybersecurity Law Blog
量子位
T
Threat Research - Cisco Blogs
V
V2EX
S
Schneier on Security
P
Proofpoint News Feed
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Forbes - Security
Forbes - Security
The Hacker News
The Hacker News
月光博客
月光博客
C
Cybersecurity and Infrastructure Security Agency CISA
Schneier on Security
Schneier on Security
L
LINUX DO - 最新话题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
S
SegmentFault 最新的问题
G
GRAHAM CLULEY
人人都是产品经理
人人都是产品经理
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 叶小钗
罗磊的独立博客
WordPress大学
WordPress大学
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tenable Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - 李华星

[原创]解决某物流企业二维码打印问题 The Workflow Management Coalition Specification 招聘.net软件开发工程师 AgilePoint BPMS软件评估分析 谈谈对BPM的理解 原创对联大观园 SmartPublisher设计之旅 — 软件设计无需后悔莫及 .NET环境下的SNMP编程 - 李华星 - 博客园 SNMP基础简介 SmartPublisher设计之旅 — 软件开发之前先做个梦 SmartPublisher设计之旅 — 让理想在仇恨中茁壮成长 - 李华星 没事儿就来说些荒唐事儿 SmartPublisher设计之旅 — 优秀的设计才是让软件永葆青春的秘诀 - 李华星 SmartPublisher设计之旅 — 打好基础是实现理想的首要任务 - 李华星 分享一套.Net开发环境下的界面框架组件 SmartPublisher设计之旅 — 让梦想成为理想 设计模式系列漫谈之十三 - 访问者模式 SmartPublisher设计之旅 设计模式系列漫谈之十二 - 职责链模式
SharePoint WebPart开发步骤
李华星 · 2008-01-30 · via 博客园 - 李华星

一、创建一个ASP.NET User Control

在VS.NET中创建一个空Web项目,添加一个“Web用户控件”,在可视化界面下创建一个符合要求的UserControl。

要点:不要在此UserControl的Code-Behind文件(.ascx.cs)中写入代码,所以必需的代码直接写入(.ascx)文件中。并编辑(.ascx)文件头的“<%@ Control %>”标签,将“CodeBehind”和“Inherited”等属性去掉,目的是使其不用依赖于(.ascx.cs)文件。
o_webpart1.jpg

如上图,我们创建了一个文件名为“WebUserControl1.ascx”的User Control,上面放置了一个Calendar控件。

二、创建一个WebPart

1、从微软网站下载WebPart Templates for VS.NET,并安装。
2、在VS.NET中创建一个“Web Part Library”项目(比如项目名为“SampleWebPart”),VS.NET会帮我们自动创建一个继承自Microsoft.SharePoint.WebPartPages.WebPart的WebPart(通常名称为“WebPart1”),并自动重载RenderWebPart()方法。
3、在WebPart1类中定义一个用来保存第一步中创建的UserControl的对象:
private System.Web.UI.Control _innerUserControl;
4、重载WebPart1的父类的CreateChildControls()方法,在其中载入第一步创建的UserControl:
protected override void CreateChildControls()
{
 _innerUserControl = this.Page.LoadControl("/bin/WebUserControl1.ascx");
 this.Controls.Add(_innerUserControl);
}
5、在RenderWebPart()方法中输出载入的UserControl:
protected override void RenderWebPart(HtmlTextWriter output)
{
 this.EnsureChildControls();
 _innerUserControl.RenderControl(output);
}

、配置WebPart

打开WebPart1.dwp,这是一个XML格式的配置文件。
<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
 <Title>Kaneboy's Sample WebPart</Title>
 <Description>Kaneboy's SampleĹWebPart, Heihei! :)</Description>
 <Assembly>SampleWebPart</Assembly>
 <TypeName>SampleWebPart.WebPart1</TypeName>
 <!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>
Title : 显示在SPS页面上的标题
Description : 显示在SPS页面上的提示文字
Assembly : 编译出来的dll文件的文件名(勿加“.dll”)
TypeName : 完整的WebPart的类名称(包含Namespace)

四、信任WebPart

在SPS服务器上打开承载SPS站点的虚拟主机的根目录,编辑web.config文件;
在里面可以找到一个“<SafeControls>”标签,下面有很多“<SafeControl>”子标签,描述了所有被SPS站点信任的WebPart信息。我们需要将我们制作的WebPart添加到信任列表中:

<SafeControl Assembly="SampleWebPart" Namespace="SampleWebPart" TypeName="*" Safe="True" />

此处的信息必须和第三步中配置的(.dwp)文件中的保持一致。

五、部署WebPart

将第一步创建的“WebUserControl1.ascx”和第二步编译生成的“SampleWebPart.dll”拷贝到SPS服务器上用来承载SPS站点的虚拟主机的根目录下的“bin”目录下(如果没有此目录,就手工创建一个)。
o_webpart2.jpg

如上图,将此两个文件拷贝到“C:/Inetpub/wwwroot/bin”目录中。(不代表你的SPS服务器上也一定是这个目录哦…)

六、导入WebPart

1、在SPS页面上选择“导入”菜单。
o_webpart3.jpg
2、找到第二步创建的WebPart项目目录中的(.dwp)文件,点击“上载”按钮。
o_webpart4.jpg

3、上载完成后,可以看到我们的这个WebPart的信息。通过拖动或者下面的“添加到”下拉框与按钮,将此WebPart添加到页面的指定位置
o_webpart5.jpg
4、运行效果
o_webpart6.jpg