控制台应用程序中的事件接收器
我已经创建了一个控制台应用程序,我在其中定义了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();
}
}
}
事件处理程序被调用。通常你定义一个事件处理程序,将其分配给一个事件,当这个事件发生时,你的事件处理程序被调用。例如一个按钮,点击:
void button1_click(object sender, EventArgs e){
//handle the click-event, update UI, etc.
}
你需要注册与对象本次活动:
button1.Click += button1_click;
每一次你单击该按钮,您的事件被调用。 MSDN上有很多东西。请更具体地说明你的问题,并告诉我们你想做什么。
不知何故,即使添加项目,该代码也无法正常工作。那么代码有问题吗? – Amit 2013-03-12 08:41:36
我必须说我不知道你在做什么。 – 2013-03-12 08:43:45
如果您的编译输出是控制台EXE,那么它将无法工作。您需要创建类库(dll)以注册并将其附加为列表项事件接收器。
如果您只想测试在ItemAdded中编写的代码,然后从中提取功能。创建两个单独的项目(控制台+类库)。在控制台应用程序中使用类库项目作为参考并调用该方法。在ItemAdded事件中调用相同的方法。您可以将类库(dll)项目注册为事件接收器。
参见:http://msdn.microsoft.com/en-in/library/ms437502%28v=office.14%29.aspx
什么是错误的代码? – Amit 2013-03-12 08:40:54