0

我创建了一个控制台应用程序,在其中定义了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();
        }
    }
}
4

2 回答 2

0

事件发生时调用事件处理程序。通常你定义一个事件处理程序,将它分配给一个事件,当这个事件发生时你的事件处理程序被调用。单击按钮的示例:

void button1_click(object sender, EventArgs e){
//handle the click-event, update UI, etc.
}

您需要使用对象注册此事件:

button1.Click += button1_click;

每次单击按钮时,都会调用您的事件。MSDN上有很多东西。请更具体地说明您的问题,并告诉我们您想做什么。

于 2013-03-12T07:33:39.257 回答
0

如果您的编译输出是控制台 EXE,那么它将永远无法工作。您需要创建类库 (dll) 以便将其注册并附加为列表项事件接收器。

如果您只想测试 ItemAdded 中编写的代码,然后从中提取函数。创建两个单独的项目(控制台 + 类库)。使用类库项目作为控制台应用程序中的引用并调用该方法。在 ItemAdded 事件中调用相同的方法。您可以将类库 (dll) 项目注册为事件接收器。

参考:http: //msdn.microsoft.com/en-in/library/ms437502%28v=office.14%29.aspx

于 2013-03-12T14:35:30.377 回答