2010-10-27 151 views
2

我已经创建了一个自定义列表。我有一个名为经理电子邮件的字段。每当列表项目被添加到该字段管理器时,都应该收到一封电子邮件。这个工作流应该是自动的。sharepoint工作流程

任何路线请

回答

2

“每当一个列表项被添加”听起来像一个Event Receiver给我,而不是一个工作流程:

public class MyEventReceiver : SPItemEventReceiver 
{ 
    public override void ItemAdded(SPItemEventProperties properties) 
    { 
     using (SPWeb web = properties.OpenWeb()) 
     { 
      SPListItem item = properties.ListItem; 
      SPUtility.SendEmail(web, true, true, item["ManagerEmail"].ToString(), "Subject", "Body"); 
     } 
    } 
} 

编辑:

你重视这个代码列表通过一个功能。如果您创建了自定义列表模板,则可以使用Receivers Element。但是,如果自定义列表是通过用户界面创建的,您将需要使用功能接收器:

public class MyFeatureReceiver : SPFeatureReceiver { 

    public override void FeatureActivated(SPFeatureReceiverProperties properties) { 
     using (SPWeb web = properties.Feature.Parent as SPWeb) 
     { 
      Type type = typeof(MyEventReceiver); 
      SPList list = web.Lists["My Custom List"]; 
      list.EventReceivers.Add(SPEventReceiverType.ItemAdded, type.Assembly.FullName, type.FullName); 
      list.Update(); 
     } 
    } 

    public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { 
    } 
    public override void FeatureInstalled(SPFeatureReceiverProperties properties) { 
    } 
    public override void FeatureUninstalling(SPFeatureReceiverProperties properties) { 
    } 
} 

欲了解更多信息:

+0

的项目从用户界面添加,我已经在设计师的验证表单中创建了一个表单。所以我不确定我在哪里写这个代码? – 2010-10-27 14:08:08

+0

使用功能将Event Receiver附加到列表。查看我的编辑了解更多信息。 – 2010-10-27 16:30:45

+0

谢谢。非常有用 – 2010-10-28 12:13:10