您的位置:首页 > 其它

为 SharePoint 2010 创建可视 Web 部件

2012-06-12 16:18 441 查看

创建可视 Web 部件项目

在该任务中,您将在 Microsoft Visual Studio 2010 中创建可视 Web 部件项目。

启动 Visual Studio 2010,单击“文件”,指向“新建”,然后单击“项目”。

在“已安装的模板”部分,导航到“Visual C#”节点,单击“SharePoint”,然后单击“2010”。

选择“可视 Web 部件”项目模板(参阅图 1),为项目提供名称(例如,SampleWebPart)和位置,然后单击“确定”。

图 1. 选择可视 Web 部件项目类型



在“要使用哪个本地站点进行调试”下拉列表中,选择要使用的网站(例如 http://localhost/sites/SampleWebSite)。另外,选择“部署为场解决方案”选项,然后单击“完成”。
请注意,在创建项目后,解决方案资源管理器会包含默认的可视 Web 部件,名为“VisualWebPart1”(参阅图 2)。在解决方案资源管理器中还可以看到“功能”和“包”节点的状态。功能会采用 SharePoint Foundation 理解的方式组织应用程序。可以在网站级别将功能部署到 SharePoint Foundation。包中包含将解决方案部署到 SharePoint Foundation 时使用的功能和其他资产。

图 2. 解决方案资源管理器中的 SampleWebPart 项目



将 TreeView 控件添加到 Web 部件

在该任务中,您需将 TreeView 控件添加到 Web 部件的设计图面。TreeView 控件可用于显示列表和子网站的分层视图。

在解决方案资源管理器中,展开“VisualWebPart1”节点,右键单击“VisualWebPart1UserControl.ascx”文件,然后单击“视图设计器”。此操作将打开一个视图,以便将控件从工具箱拖放到 Web 部件设计图面上。

从屏幕左侧的工具箱单击“导航”部分,然后将“TreeView”控件拖到设计图面上。如果在屏幕左侧看不到工具箱,请在“视图”菜单上,单击“工具箱”。

选择 TreeView 控件,并在 Visual Studio 屏幕右下角的“属性”面板中,在“ID”字段中键入同一 siteStructure

将代码添加到项目

在该任务中,您需将 Microsoft Visual C# 代码添加到循环访问 SharePoint 网站中所有列表和子网站的项目,并将它们添加到 TreeView 控件。

在解决方案资源管理器中,展开“VisualWebPart1UserControl.ascx”节点,右键单击“VisualWebPart1UserControl.ascx.cs”节点,然后单击“查看代码”。

接下来,使用以下 C# 代码替换代码屏幕中的代码。

C#

复制

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System.Web;
namespace BonnevilleTestBed.Bonneville
{
public partial class BonnevilleUserControl : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
SPWeb thisWeb = null;
TreeNode node;
thisWeb = SPContext.Current.Web;
//Add the Web's title as the display text for the tree node, and add the URL as the NavigateUri.
node = new TreeNode(thisWeb.Title, null, null, thisWeb.Url, "_self");
//The Visual Web Part has a treeview control called siteStructure.
siteStructure.Nodes.Add(node);
//Get a reference to the current node, so child nodes can be added in the correct position.
TreeNode parentNode = node;
//Iterate through the Lists collection of the Web.
foreach (SPList list in thisWeb.Lists)
{
if (!list.Hidden)
{
node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
parentNode.ChildNodes.Add(node);
}
}
foreach (SPWeb childWeb in thisWeb.Webs)
{
//Call our own helper function for adding each child Web to the tree.
addWebs(childWeb, parentNode);
childWeb.Dispose();
}
siteStructure.CollapseAll();
}
void addWebs(SPWeb web, TreeNode parentNode)
{
TreeNode node;
node = new TreeNode(web.Title, null, null, web.Url, "_self");
parentNode.ChildNodes.Add(node);
parentNode = node;
foreach (SPList list in web.Lists)
{
if (!list.Hidden)
{
node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
parentNode.ChildNodes.Add(node);
}
}
foreach (SPWeb childWeb in web.Webs)
{
//Call the addWebs() function from itself (i.e. recursively)
//to add all child Webs until there are no more to add.
addWebs(childWeb, parentNode);
childWeb.Dispose();

}
}
}
}


构建并部署 Web 部件

在该任务中,您将构建并部署 Web 部件项目。

使用以下选项之一构建并部署项目:

在调试 SharePoint 解决方案时,使用 F5 键构建并部署解决方案。进行此操作后,调试体验包括不同步骤,例如帮助创建 Web 部件页,以及重置 Internet Information Services (IIS)。

也可以使用以下方法构建并部署解决方案:单击“生成”菜单,选择“生成解决方案”,确认解决方案生成时未出现任何错误,然后选择“部署解决方案”。

创建 Web 部件页

在该任务中,您将创建 Web 部件页来包含 Web 部件,除非已为您创建一个 Web 部件页。

如果单击 F5 来调试应用程序,则默认情况下,会显示创建 Web 部件页使用的页面。否则,打开 SharePoint 网站,依次单击“网站操作”、“查看所有网站内容”和“创建”,通过滚动选择“Web 部件页”选项。

在“Web 部件页”屏幕中,提供请求的有关特定 Web 部件页的信息。例如,提供该页面的名称 (SampleWebPartPage) 和布局模板。

在“文档库”下拉列表中,选择“网站页面”,然后单击“创建”。SharePoint 将创建并显示 Web 部件页。

图 3. 示例 Web 部件页



将 Web 部件添加到 Web 部件页

在该任务中,您需将 Web 部件添加到 Web 部件页,然后测试该解决方案。

在 Web 部件页上,在您希望显示 Web 部件的区域中单击“添加 Web 部件”文本。

在“类别”列表中,单击“自定义”。在“Web 部件”框中,单击“VisualWebPart1”。

在页面顶部的“关于 Web 部件”框中,单击“添加”。该 Web 部件将添加到您选择的区域,如图 4 所示。请注意,列表和子网站显示在分层视图中。

图 4. 添加到 Web 部件页的区域后的 Web 部件



原文地址http://msdn.microsoft.com/zh-cn/library/ff597539
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐