Aracılığıyla paylaş


İzlenecek yol: Özelliği Olay alıcıları ekleyin

Özellik Olay alıcıları SharePoint'teki özelliği ile ilgili aşağıdaki olaylardan biri gerçekleştiğinde, execute yöntemleri şunlardır:

  • Bir özelliği yüklenir.

  • Bir özelliği etkinleştirilir.

  • Bir özelliği devre dışı bırakılır.

  • Bir özelliği kaldırılır.

Bu izlenecek yolda, bir olay alıcı SharePoint proje içindeki bir özellik eklemek gösterilmiştir.Aşağıdaki görevler gösterilmektedir:

  • Boş bir projeyi özelliği olay alıcı ile oluşturuluyor.

  • İşleme FeatureDeactivating yöntemi.

  • Duyuruyu Duyurular listesine eklemek için SharePoint proje nesne modeli kullanarak.

[!NOT]

Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

Bir özelliği olay alıcı proje oluşturma

İlk olarak, özellik olay alıcı içeren bir proje oluşturun.

Özellik olay alıcı ile bir proje oluşturmak için

  1. Menü çubuğunda Seç dosyasını, Yeni, Proje görüntülemek için Yeni bir proje iletişim kutusu.

  2. Genişletme SharePoint düğümü altında ya da Visual C# veya Visual Basicve sonra seçin 2010 düğümü.

  3. İçinde şablonları bölmesinde seçin SharePoint 2010 proje şablonu.

    Hiçbir proje şablonu olduğundan bu proje türü özelliği Olay alıcıları için kullanın.

  4. İçinde ad kutusuna FeatureEvtTest girin ve sonra seçin Tamam görüntülemek için düğmeyi SharePoint Özelleştirme Sihirbazı'nı.

  5. Üzerinde ve hata ayıklama için güvenlik düzeyini belirleme sitesi sayfasında, yeni özel alan öğe eklemek istediğiniz SharePoint server sitesi için URL'yi girin veya varsayılan konumu kullanır (http:// <system name> /).

  6. De Bu SharePoint çözümü için güven düzeyi nedir? bölümünde, seçim dağıtma grubu çözümü olarak seçenek düğmesi.

    Grupta çözümleri karşı korumalı çözümleri hakkında daha fazla bilgi için bkz: Kutulu çözüm hakkında önemli noktalar.

  7. Seçim Son düğmesini tıklatın ve sonra Feature1 adlı bir özellik altında göründüğünü fark özelliklerini düğüm.

Olay alıcı özellik ekleme

Daha sonra Olay alıcı özellik ve özelliği devre dışı bırakıldığında yürütülen kod ekleyin.

Özellikle olay alıcı eklemek için

  1. Özellikler düğümünde kısayol menüsünü açın ve sonra seçin Ekleme özelliği bir özellik oluşturmak için.

  2. Altında özellikleri düğüm, kısayol menüsünü açın Feature1ve sonra seçin Olay alıcı eklemek olay alıcı özellik eklemek için.

    Bu Feature1 altında bir kod dosyası ekler.Bu durumda, Feature1.EventReceiver.cs veya Feature1.EventReceiver.vb, projenizin geliþtirme diline bağlı olarak adlandırılır.

  3. Projenizi yazılmışsa Visual C#, zaten yoksa olay alıcı üstünde aşağıdaki kodu ekleyin:

    using System;
    
  4. Olay alıcı sınıfı olayları davranacak birkaç açıklamalı dışarı yöntemler içerir.Yerine FeatureDeactivating aşağıdaki yöntemi:

    Public Overrides Sub FeatureDeactivating(ByVal properties As SPFeatureReceiverProperties)
        Try
            ' Get reference to SharePoint site.
            Dim site As SPSite = New SPSite("https://localhost")
            Dim web As SPWeb = site.OpenWeb("/")
            ' Get reference to Announcements list.
            Dim announcementsList As SPList = web.Lists("Announcements")
            ' Add new announcement to Announcements list.
            Dim oListItem As SPListItem = announcementsList.Items.Add
            oListItem("Title") = ("Deactivated Feature: " + properties.Definition.DisplayName)
            oListItem("Body") = (properties.Definition.DisplayName + (" was deactivated on: " + DateTime.Now.ToString))
            oListItem.Update()
        Catch e As Exception
            Console.WriteLine(("Error: " + e.ToString))
        End Try
    End Sub
    
    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        try
        {
            // Get reference to SharePoint site.
            SPSite site = new SPSite("https://localhost");
            SPWeb web = site.OpenWeb("/");
            // Get reference to Announcements list.
            SPList announcementsList = web.Lists["Announcements"];
    
            // Add new announcement to Announcements list.
            SPListItem oListItem = announcementsList.Items.Add();
            oListItem["Title"] = "Deactivated Feature: " + properties.Definition.DisplayName;
            oListItem["Body"] = properties.Definition.DisplayName + " was deactivated on: " + DateTime.Now.ToString();
            oListItem.Update();
    
        }
    
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.ToString());
        }
    
    }
    

Özellik olay alıcı sınama

Daha sonra sınama özelliğini devre dışı olup olmadığını FeatureDeactivating yöntemi SharePoint Duyurular listesine bir duyuru çıktısını verir.

Özellik olay alıcı sınamak için

  1. Projenin değeri Etkin dağıtım yapılandırması özelliğine No etkinleştirme.

    Bu özelliğin ayarlanması özelliğinin SharePoint'teki etkinleştirme engeller ve hata ayıklama özelliği Olay alıcıları sağlar.Daha fazla bilgi için bkz. Hata ayıklama SharePoint çözümleri.

  2. Seçim F5 projeyi çalıştırın ve SharePoint için dağıtmak için anahtar.

  3. SharePoint Web sayfasının en üstünde, açık Site eylemleri menüsünde ve sonra seçin Site Ayarları.

  4. Altında Site eylemleri bölümünü Site Ayarları sayfasında, seçim site özellikleri yönet bağlantı.

  5. Üzerinde özelliklerini sayfasında, seçim Activate yanındaki düğme FeatureEvtTest Feature1 özelliği.

  6. Üzerinde özellikleri sayfasında, seçim etkinliğini yanındaki düğme FeatureEvtTest Feature1 özelliği ve sonra seçin Bu özelliği devre dışı bırakma özelliğini devre dışı bırakmak için onay bağlantısını.

  7. Seçim Ev düğme.

    Duyuru görünür dikkat edin Duyurular özelliği devre dışı bırakıldıktan sonra listeleyin.

Ayrıca bkz.

Görevler

Nasıl yapılır: olay alıcı oluşturmak

Diğer Kaynaklar

SharePoint çözümleri geliştirmek