转:http://blog.csdn.net/alfred_72/article/details/9980279

因为不知道VS2010 Sharepoint 有EventReciver这个添加项,走了很多弯路。
 
步骤:
1.建立 空白Sharepoint项目解决方案。
2.添加项 选择-EventReciver(事件接收器)。
3. 配置--事件接收器类型,事件源项,需要处理哪些事件。

 
完成之后会生成相应的EventHandler类,方法,Feature1.feature1会自动添加站点功能项。  可以查看一下feature.xml和Element都生成了什么东西,这两个是部署到Sharepoint站点上的关键东西,一开始我不知道可以自动生成,自己在那写这两个文件,一直部署不了。
 接着是重写相应的类中的方法,我这里是重写ItemAdded方法,在list 添加新列的时候发送邮件通知。

Code:

 

  1. using System;  
  2. using System.Security.Permissions;  
  3. using Microsoft.SharePoint;  
  4. using Microsoft.SharePoint.Security;  
  5. using Microsoft.SharePoint.Utilities;  
  6. using Microsoft.SharePoint.Workflow;  
  7. using System.Net;  
  8. using System.Net.Mail;  
  9. using System.Net.Mime;  
  10. using System.Text;  
  11.   
  12. namespace SharePointProject4.EventReceiver1  
  13. {  
  14.     /// <summary>  
  15.     /// 列表项事件  
  16.     /// </summary>  
  17.     public class EventReceiver1 : SPItemEventReceiver  
  18.     {  
  19.        /// <summary>  
  20.        /// 已添加项.  
  21.        /// </summary>  
  22.         public override void ItemAdded(SPItemEventProperties properties)  
  23.         {  
  24.             base.ItemAdded(properties);  
  25.   
  26.             string mailTitle = "";  
  27.             string mailContent = "";  
  28.             string address = "";  
  29.   
  30.             if (properties.ListTitle == "邮件内容")  
  31.             {  
  32.                 SPListItem item = properties.ListItem;  
  33.                 mailTitle = item["标题"].ToString();  
  34.                 mailContent = item["邮件内容"].ToString();  
  35.                 address = item["邮件地址"].ToString();  
  36.   
  37.             }  
  38.   
  39.             SendEmail(mailTitle, mailContent, address);  
  40.   
  41.         }  
  42.   
  43.         public void SendEmail(string title, string content, string address)  
  44.         {  
  45.             try  
  46.             {  
  47.                 Encoding encoding = Encoding.GetEncoding(936);  
  48.   
  49.                 MailMessage Message = new MailMessage(  
  50.                     //from  
  51.                 new MailAddress("117738414@qq.com""邮件主题", encoding),  
  52.                     //to  
  53.                 new MailAddress(address));  
  54.   
  55.                 Message.SubjectEncoding = encoding;  
  56.                 Message.Subject = title;  
  57.                 Message.BodyEncoding = encoding;  
  58.                 Message.Body = content;  
  59.                 //Message.Attachments.Add(new Attachment(null));  
  60.                 SmtpClient smtpClient = new SmtpClient("smtp.qq.com");  
  61.                 smtpClient.Credentials = new NetworkCredential("2313626895""password");  
  62.                 smtpClient.Timeout = 20000;  
  63.                 smtpClient.Send(Message);  
  64.             }  
  65.             catch (Exception ex)  
  66.             {  
  67.   
  68.             }  
  69.   
  70.         }  
  71.   
  72.   
  73.     }  
  74. }  



 

 

代码写完,右键解决方案---部署。VS会自动部署并且激活Feature,部署完后你可以到Sharepoint网站--网站设置--网站操作--管理网站功能。看到相应的Featrure已经被激活。
也就说明功能已经开始启用了!

 

posted on 2014-03-26 11:43  jackljf  阅读(278)  评论(0编辑  收藏  举报