为 Sharepoint 创建可视的 WebPart
luyued 发布于 2011-06-12 16:07 浏览 N 次原文地址:http://msdn.microsoft.com/zh-cn/library/ff597539(en-us).aspx
创建一个 Visual Web Part 项目
1. 在 VS2010 中选择文件 -> 新建 -> 项目
2. 在安装的项目模板中选择 Visual C# ,选择其中 Sharepoint 下的 2010
3. 选择 Visual Web Part 项目模板,见图1,提供项目名称,例如:SampleWebPart,项目的保存位置,然后确定。
图 1
4. 在 What local site do you want to use for debugging 下拉列表框中, 选择使用的站点 (例如http://localhost/sites/SampleWebSite). 还要选中 Deploy as a farm solution 选项,然后 Finish.
注意,在项目创建之后,解决方案管理器包含一个默认的 Visual Web Part, 名叫 VisualWebPart1 ,见图2, 还可以在解决方案管理器中的 Features 和 Package 节点,Feature 使用 SharePoint 理解的方式组织你的应用,Features 可以在站点级别或者 Web 级别被发布到 SharePoint Foundattion,在发布解决方案到 SharePoint Foundation 中的时候,Package 包含 Features 和其他的内容。
图2 解决方案中的 SampleWebPart 项目
在 WebPart 中加入 TreeView
1. 在解决方案管理器中,展开 VisualWebPart1 节点,右击 VisualWebPart1UserControl.ascx 文件,选择设计视图。
2. 在工具箱中,拖动 TreeView 到设计器。
3. 选中 TreeView ,在属性窗口中,设置 ID 为 siteStructure
加入代码
1. 在解决方案管理器中,展开 VisualWebPart1UserControl.ascx 节点,右击 VisualWebPart1UserControl.ascx.cs ,选择代码视图。
2. 插入代码
1 using System;2 using System.Web.UI;
3 using System.Web.UI.WebControls;
4 using System.Web.UI.WebControls.WebParts;
5 using Microsoft.SharePoint;
6 using Microsoft.SharePoint.Utilities;
7 using System.Web;
8 namespace BonnevilleTestBed.Bonneville
9 {
10 public partial class BonnevilleUserControl : UserControl
11 {
12 protected void Page_Load(object sender, EventArgs e)
13 {
14 SPWeb thisWeb = null;
15 TreeNode node;
16 thisWeb = SPContext.Current.Web;
17 //Add the Web's title as the display text for the tree node, and add the URL as the NavigateUri.
18 node = new TreeNode(thisWeb.Title, null, null, thisWeb.Url, "_self");
19 //The Visual Web Part has a treeview control called siteStructure.
20 siteStructure.Nodes.Add(node);
21 //Get a reference to the current node, so child nodes can be added in the correct position.
22 TreeNode parentNode = node;
23 //Iterate through the Lists collection of the Web.
24 foreach (SPList list in thisWeb.Lists)
25 {
26 if (!list.Hidden)
27 {
28 node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
29 parentNode.ChildNodes.Add(node);
30 }
31 }
32 foreach (SPWeb childWeb in thisWeb.Webs)
33 {
34 //Call our own helper function for adding each child Web to the tree.
35 addWebs(childWeb, parentNode);
36 childWeb.Dispose();
37 }
38 siteStructure.CollapseAll();
39 }
40 void addWebs(SPWeb web, TreeNode parentNode)
41 {
42 TreeNode node;
43 node = new TreeNode(web.Title, null, null, web.Url, "_self");
44 parentNode.ChildNodes.Add(node);
45 parentNode = node;
46 foreach (SPList list in web.Lists)
47 {
48 if (!list.Hidden)
49 {
50 node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
51 parentNode.ChildNodes.Add(node);
52 }
53 }
54 foreach (SPWeb childWeb in web.Webs)
55 {
56 //Call the addWebs() function from itself (i.e. recursively)
57 //to add all child Webs until there are no more to add.
58 addWebs(childWeb, parentNode);
59 childWeb.Dispose();
60
61 }
62 }
63 }
64 }
创建和发布 WebPart
1. 使用 F5 创建和发布 WebPart, 可以单步调试。
2. 另外,还可以选择 Build 菜单中的 Build Solution,检查 Build 中没有错误,然后,选择 Deploy Solution
创建 WebPart 页
1. 如果你使用 F5 调试你的应用,默认,显示你的 WebPart 的页面被显示出来,另外,打开 SharePoint 站点,点击 Site Actions,点击 View All Site Content, 点击 Create, 卷绕然后选择 Web Part Page 选择。
2. 在 WebPart 屏幕上,提供你的 WebPart 页的信息,例如名称,然后,进行模板布局。
3. 在 Document Library 下拉列表中,选择 Site Pages, 然后选择 Create,SharePoint 将会创建并显示你的 WebPart 页。
图3
将 WebPart 加入到 WebPart 页上
1. 在 Web Part 页上,在你希望显示 WebPart 的位置点击 Add a Web Part 。
2. 在 Categories 列表中,选择 Custom,在 Web Parts 中,点击 VisualWebPart1
3. 在页面顶部的 About the Web Part 中,点击 Add, WebPart 将如图4 所示,加到你所选择的区域,注意,列表和 SubWebs 将会以层次结构显示。
图4 加入到 WebPart 页之后的 WebPart
作者: haogj 发表于 2010-12-15 22:55 原文链接
评论: 0 查看评论发表评论
最新新闻:
· 网易VIP邮箱支持站外登录,文件恢复近日上线(2010-12-15 21:53)
· 戴尔预计未来十年在中国市场投资1000亿美元(2010-12-15 21:52)
· 如何低成本打造品牌Android软件?(2010-12-15 21:17)
· Windows Phone 7开发人员向导已经发布(2010-12-15 21:12)
· “复制”并不是“最好的”互联网产品策略(2010-12-15 21:10)
编辑推荐:Google首席Java架构师访谈:API对设计流程的影响
网站导航:博客园首页 我的园子 新闻 闪存 小组 博问 知识库
- 07-01· 禁教唐诗算术能还幼儿快
- 07-01· 2011年06月17日
- 07-01· 唐诗宋词英译:李商隐 筹
- 07-01· 仿评《唐诗1000首》第186首
- 07-01· 没事干的时候背背唐诗吧
- 07-01· [转载]唐诗中“斜”字该读
- 07-01· 湖南醴陵瓷业转型升级
- 07-01· 奇瑞风云2两厢黑色|2010款
- 07-01· 摩根士丹利华鑫摩根士丹
- 07-01· 摩根士丹利华鑫近期优选
- 07-01· 中金投行部大摩出售中金
- 07-01· 摩根士丹利招聘6月2日【实
- 07-01· 营养防病圣典
- 07-01· 《博伽梵歌原意》之第十
- 07-01· [不错]斑斓圣典---减肥中常
- 07-01· 武乐圣典《太极武当》:武
- 07-01· 铁血英雄-现阶段战功牌兑
- 07-01· 2011年06月10日【原创】南歌
- 07-01· 【淘宝网信息】- 2010年的
- 07-01· 深圳品牌女装有哪些?