使用VS在标准Web Part 部件中创建Event Handler2015-01-03为Web Part部件创建Events是生成Web Parts部件的核心部分。本文主要讲解如何使用Visual Studio在标准Web Part 部件中创建事件处理器。1. 打开Visual Studio 创建新的空白SharePoint项目SPWebPartEvent,点击确定。部署为场解决方案。2. 右击项目添加新Web部件SampleEventWebPart。点击确定。3. 打开SampleEventWebPart.webpart,修改它的标题和描述属性。
<?xml version="1.0" encoding="utf-8"?><webParts><webPart xmlns="http://schemas.microsoft.com/WebPart/v3"><metaData><type name="SPWebPartEvent.SampleEventWebPart.SampleEventWebPart, $SharePoint.Project.AssemblyFullName$"/><importErrorMessage>$Resources:core,ImportErrorMessage;</importErrorMessage></metaData><data><properties><property name="Title" type="string">SP Site Lists Web Part</property><property name="Description" type="string">List of Lists from SharePoint site.</property></properties></data></webPart></webParts>
4. 打开SampleEventWebPart.cs,修改代码。
using System;using System.ComponentModel;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using Microsoft.SharePoint;using Microsoft.SharePoint.WebControls;namespace SPWebPartEvent.SampleEventWebPart{[ToolboxItemAttribute(false)]public class SampleEventWebPart : WebPart{//Be sure to replace mySiteURL with your server URL.//确保用自己服务器的URL代替这里的mySiteURL。string mySiteURL = "http://smallville-pc:1528/";ListBox mySPLists = new ListBox();string listInfo = "";Button getLists = new Button();protected override void OnPreRender(EventArgs e){getLists.Text = "点击获取所有列表";}protected override void CreateChildControls(){this.Controls.Add(getLists);this.Controls.Add(mySPLists);getLists.Click += new EventHandler(getLists_Click);}void getLists_Click(object sender, EventArgs e){using (SPSite mySiteCollection = new SPSite(mySiteURL)){using (SPWeb mySPSite = mySiteCollection.RootWeb){foreach (SPList myList in mySPSite.Lists){listInfo = myList.Title.ToString();mySPLists.Items.Add(listInfo);}}}}}}5. 现在点击生成--部署解决方案。6. 在SharePoint站点,点击网站操作--编辑页面--添加Web部件,在Custom类中选择SP Site Lists Web Part,点击添加。7. 尝试点击按钮“点击获取所有列表”,可以看到: