Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Spitemeventereceiver don';调试时不要启动_C#_Sharepoint - Fatal编程技术网

C# Spitemeventereceiver don';调试时不要启动

C# Spitemeventereceiver don';调试时不要启动,c#,sharepoint,C#,Sharepoint,调试时,我似乎无法启动EventReceiver。我正在GAC中调试 我不是sharepoint或SP对象方面的专家 当用户更改我创建的下拉框中的值时,我想做些什么 下拉框 [ChoiceField(Name = F.Adgang, DisplayName = "Adgang", Required = true, DefaultValue = "Alle", Choices = new string[] { "Alle", "Kun indehavere" })] public

调试时,我似乎无法启动EventReceiver。我正在GAC中调试

我不是sharepoint或SP对象方面的专家

当用户更改我创建的下拉框中的值时,我想做些什么

下拉框

    [ChoiceField(Name = F.Adgang, DisplayName = "Adgang", Required = true, DefaultValue = "Alle", Choices = new string[] { "Alle", "Kun indehavere" })]
    public bool Adgang
    {
        get { return G(); }
        set { S(value); }
    }
Model.cs

public class Model : SPFeatureReceiver
{

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        SPSite site = properties.Feature.Parent as SPSite;

        site.RootWeb.CreateContentType<CourseAndEvent>();
        site.RootWeb.CreateContentType<DanboligNewsPage>();

        using (SPWeb web = site.OpenWeb())
        {
            var list = web.Lists[""];
            var e = list.EventReceivers.Add(Guid.NewGuid());

            e.Name = "test_All";
            e.Type = SPEventReceiverType.ItemAdded | SPEventReceiverType.ItemDeleted | SPEventReceiverType.ItemDeleting;
            e.Assembly = typeof(NewsReceiver).Assembly.FullName;
            e.Class = typeof(NewsReceiver).FullName;
            e.SequenceNumber = 10;
            e.Update();

            list.Update();
            web.Update();
        }


    }

}
class NewsReceiver : SPItemEventReceiver
{
    public override void ItemAdded(SPItemEventProperties properties)
    {
        base.ItemAdded(properties);

        SPListItem item = properties.ListItem;
        string folderName = item["Name"].ToString();
        string folderUrl = SPUtility.ConcatUrls(SPUtility.ConcatUrls(item.Web.Url, item.ParentList.RootFolder.Url), folderName);

        SPFile file = item.File;
    }

    public override void ItemDeleting(SPItemEventProperties properties)
    {
        base.ItemDeleting(properties);
    }

    public override void ItemDeleted(SPItemEventProperties properties)
    {
        base.ItemDeleted(properties);
    }
}

有人能告诉我为什么调试时没有一个ItemEvents不触发吗?

我假设您正在将调试器连接到w3wp.exe。你确定你选对了吗? 另外,您是否回顾了调试事件接收器的相关内容?(旧但相关)


您是否确保您的事件接收者已附加到列表或包含该列表的网站?请参阅。

我假定您正在将调试器附加到w3wp.exe。你确定你选对了吗? 另外,您是否回顾了调试事件接收器的相关内容?(旧但相关)


您是否确保您的事件接收者已附加到列表或包含该列表的网站?请参阅。

尝试在代码中的某个位置设置以下代码行。它将启动调试器:

System.Diagnostics.Debugger.Launch();


但是,如果您没有将EventReceiver正确连接到所需的对象,那么它将不会有帮助。我还希望与检查EventReceivers是否正确连接/注册。

尝试在代码中的某个位置设置以下代码行。它将启动调试器:

System.Diagnostics.Debugger.Launch();

但是,如果您没有将EventReceiver正确连接到所需的对象,那么它将不会有帮助。我还希望与检查EventReceivers是否正确连接/注册