我创建了一个控制台应用程序,我在其中定义了ItemAdded
事件接收方法。我想知道如何执行ItemAdded
方法,我是否需要在Main
函数中调用此方法?如果是,那怎么办?
这是我的代码
class Program : SPItemEventReceiver
{
static void Main(string[] args)
{
Program pgm = new Program();
}
public override void ItemAdded(SPItemEventProperties properties)
{
try
{
base.ItemAdded(properties);
SPSite site = new SPSite("http://cdcgtdevvm258/sites/amit/dummy");
SPWeb web = site.RootWeb;
SPList list = web.Lists[""];
SPListItem listitem = properties.List.AddItem();
listitem["Title"] = "Example";
listitem.Update();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
}
答案 0 :(得分:0)
事件发生时会调用事件处理程序。通常,您定义一个事件处理程序,将其分配给事件,并在此事件发生时调用事件处理程序。按钮单击示例:
void button1_click(object sender, EventArgs e){
//handle the click-event, update UI, etc.
}
您需要使用对象注册此事件:
button1.Click += button1_click;
每次点击按钮,都会调用您的活动。 MSDN上有很多东西。请更具体地说明您的问题并告诉我们您想要做什么。
答案 1 :(得分:0)
如果您的编译输出是控制台EXE,那么它将永远不会工作。您需要创建类库(dll)才能注册并将其作为列表项事件接收器附加。
如果您只想测试在ItemAdded中编写的代码,请从中提取函数。创建两个单独的项目(Console + Class库)。在控制台应用程序中使用类库项目作为参考,并调用该方法。在ItemAdded事件中调用相同的方法。您可以将类库(dll)项目注册为事件接收器。
参考:http://msdn.microsoft.com/en-in/library/ms437502%28v=office.14%29.aspx