IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

event receiver qui ne marche pas quand il est couplé avec un content type


Sujet :

SharePoint .NET

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Points : 28
    Points
    28
    Par défaut event receiver qui ne marche pas quand il est couplé avec un content type
    Bonjour
    Aprés avoir scrupuleusement suivi de nombreux tutoriaux pour ajouté un event receiver a des content type , ses event receiver ne marche jamais (ils ne sont pas pris en compte) contrairement a ces mème content type. Est-ce normal? auriez vous des petits exemples concis qui puissent me prouver qu'ils est possible d'ajouter des event receiver a des content type.

    Merci
    Cordialement.

  2. #2
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Un content type c'est avant tout un item.

    Tu ajoute ton event receiver à ta liste, sur le AddListItem par exemple, et tu fais un traitement différent selon le Item.ContentTypeId
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Hum pourrais tu être un peu plus concis s'il te plait. Je ne comprends pas trpop mon érreur et tu m'a largué en disant
    Citation Envoyé par Lapinpanda Voir le message
    Tu ajoute ton event receiver à ta liste, sur le AddListItem par exemple, et tu fais un traitement différent selon le Item.ContentTypeId

  4. #4
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Oublis ce que j'ai dit, cela pourrais marcher, mais c'est pas la bonne solution.

    Effectivement on peut ajouter directement un event reciverr à un content type.

    Cet event receiver, c'est une classe qui dérive de SPitemReceiver, des tutos existent ici

    Déjà, arrive tu à ajouter un event handler à un item, sans se soucier du content type?
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Tout d'abord je suis sous SP2010 pas 2007 pour mes configurations. Oui j'arrive a "accrocher " un event handler a un item.

  6. #6
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Points : 4 913
    Points
    4 913
    Par défaut
    Citation Envoyé par cekamb72 Voir le message
    Tout d'abord je suis sous SP2010 pas 2007 pour mes configurations. Oui j'arrive a "accrocher " un event handler a un item.
    Dis toi bien ca, tout ce qui est valable en 2007 l'ai en 2010. C'est pas 100% vrai, mais c'est un bon 90%!

    Les tutos sur event receiver/handler présents ici pour 2007 te concerne donc bien

    As tu au moins une exception? Qu'elle est la différence entre ton code qui marche sans Content type, et l'autre avec content type?
    Merci d'utiliser en cas de résolution de votre problème

    N'oubliez pas non plus le petit pouce vert pour récompenser celui que vous a aidé

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Août 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Ba en fait sois l'un marche sois l'autre mais pas les 2.
    Quand je met en place on content type tout seul cela marche ss problème.
    Quand je met un event receiver sur autre
    Quand je met les 2 ensemble mon event receiver n'ai pas pris en compte cela ve dire que si je met par ex:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public override void ItemAdded(SPItemEventProperties properties)
           { // avec ici des instructions
               base.ItemAdded(properties);
           }
    et bien rien n'ai pris en compte. je verrai juste s'afficher mon content type comme l'event receiver n'existais pas.(je nai donc pas de message d'érreur)

    La différence entre sans Content Type et Avec est bien c'est l'ajout d'une feature contenant mon content type et mon event receiver; Scope:site;
    Dans mon . cs de mon event receiver il y a ceci:
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     public class Event2014 : SPItemEventReceiver
        {
     
            Guid ReservePourID = new Guid("{ba3985a4-cc1f-4294-bea4-b03905119612}");
            Guid ConfirmationID = new Guid("{DE87D706-E6B0-11DC-8369-4DAC56D89593}");
            Guid ObjetResaID = new Guid("{fa564e0f-0c70-4ab9-b863-0177e6ddd247}");
            Guid EmplacementID = new Guid("{288f5f32-8462-4175-8f09-dd7ba29359a9}");
            Guid DateDebutID = new Guid("{64cd368d-2f95-4bfc-a1f9-8d4324ecb007}");
            Guid DateFinID = new Guid("{2684f9f2-54be-429f-ba06-76754fc056bf}");
     
            [SharePointPermission(SecurityAction.LinkDemand, ObjectModel = true)]
     
     
     
           /// <summary>
           /// An item was added.
           /// </summary>
           public override void ItemAdded(SPItemEventProperties properties)
           {
     
     
                base.ItemAdded(properties);
     
                if (properties.ListItem[ConfirmationID].ToString().Equals("True"))
                {
                    properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
                    properties.RedirectUrl = "http://www.google.fr";
                }
     
     
           }
     
     
        }
    }
    et dans mon . xml cela
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
     
      <Field
        ID="{052889C9-6717-4837-ABCE-151B8BCDB937}"
        Type="User"
        Name="ReservePour"
        DisplayName="Réservé pour"
        StaticName="ReservePour"
        Hidden="FALSE"
        Required="TRUE"
        Sealed="FALSE"
        />
     
      <Field
          ID="{C2422717-DCFE-4B46-93C8-24D3E4E6445B}"
          Type="Boolean"
          Description="Confirme la réservation par messagerie au demandeur"
          Name="ConfirmationResa"
          DisplayName="Confirmation"
          StaticName="ConfirmationResa"
          Hidden="FALSE"
          Required="TRUE"
          Sealed="FALSE"
        >
        <Default>FALSE</Default>
      </Field>
     
     
     
     
      <!-- Parent ContentType: Event (0x0102) -->
      <ContentType ID="0x0102003f4e986da30448959879db32f54308c2"
                   Name="Evt_2014-Resa"
                   Group="TOTAL"
     
                   Description="Crée une nouvelle réservation"
     
                   Inherits="TRUE"
                   Version="0"
     
                   >
     
     
        <FieldRefs>
          <FieldRef ID="{052889C9-6717-4837-ABCE-151B8BCDB937}" Name="ReservePour" />
          <FieldRef ID="{C2422717-DCFE-4B46-93C8-24D3E4E6445B}" Name="ConfirmationResa" />
     
     
        </FieldRefs>
     
     
     
      </ContentType>
    </Elements>
    et j'ai aussi un 3eme xml avec ceci:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Receivers ListUrl="Lists/cal_test2" >
     
        <Receiver>
            <Name>Event2014ItemAdded</Name>
            <Type>ItemAdded</Type>
            <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
            <Class>Evt_2014.ContentType1.Event2014.Event2014</Class>
            <SequenceNumber>10000</SequenceNumber>
          </Receiver>
     
      </Receivers>
    </Elements>

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/02/2015, 21h28
  2. Réponses: 1
    Dernier message: 22/11/2012, 14h20
  3. pageref qui me fonctionne pas quand il est passé en exposant
    Par pingouin84k dans le forum Mise en forme
    Réponses: 2
    Dernier message: 04/10/2012, 06h21
  4. [AC-2003] Requête qui ne marche pas quand je l'utilise en VBA ?
    Par [ZiP] dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/03/2010, 10h28
  5. Projet Web qui ne marche pas quand déployé avec un WAR
    Par aeMAETH dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 22/09/2009, 03h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo