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 :

Changer le nom d'un document dans l'ItemUpdating


Sujet :

SharePoint .NET

  1. #1
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut Changer le nom d'un document dans l'ItemUpdating
    Mon problème est le suivant:
    Le nom de mon document est calculé selon une règle business et est dépendant des propriétés du document dans sharepoint. Un des problèmes soulevés par cela est la mise à jour du nom dans la liste (propriété FileLeafRef).
    Si je peux changer cette propriété dans l'événement ItemUpdated (directement dans la liste), je n'arrive pas à la changer dans l'ItemUpdating (via AfterProperties). Le fait de le faire dans itemUpdated est problématique car cet événement contrairement à l'autre est asynchrone. Il s'effectue donc généralement après le rafraichissement de la page.

    Quelqu'un a-t-il une idée pour résoudre ce problème ?

    Merci d'avance.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 760
    Points : 2 050
    Points
    2 050
    Par défaut
    Salut,
    si tu utilises les événements -ing, le AfterProperties n'est pas disponible; il te faudra utiliser le BeforeProperties.
    Tu trouveras un exemple ici > http://blogs.coforcert.com/dntamack/...ost.aspx?ID=73

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    La propriété BeforeProperties est fort logiquement readonly. Je ne vois donc pas en quoi elle peut m'être utile puisque mon but est de changer la valeur dans l'event. Peux-tu me donner plus d'explications ?

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 760
    Points : 2 050
    Points
    2 050
    Par défaut
    C'est normal, le BeforeProperties soit en lecture seule dans un événement en -ing.
    Lorsque tu utilises un événement en -ing, le BeforesProperties contient la valeur de ta propriété avant l'event handler et la propriété elle mise est mise à jour après.

    Lorque tu utilises un événement en -ed, ta propriété contient la valeur avant l'event handler et le AfterProperties est mis à jour après.

    On obtient donc ceci :
    elt.BeforeProperties["prop"] -> event -ing -> elt["prop"] -> event -ed -> elt.AfterProperties["prop"].

    Si tu veux donc modifier le nom de ton doc avec un évenement -ing, il va donc falloir utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDoc["Name"] = "Ma nouvelle valeur";
    et si tu veux par réutiliser le nom précédemment affecté par l'utilisateur, pour par ex le mettre en majuscule, tu vas utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     monDoc["Name"] = MonDoc.BeforeProperties["Name"].ToUpper();
    si tu veux faire la meme chose avec un évenement en -ed, voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monDoc.AfterProperties["Name"] = "Ma nouvelle valeur";
    ou
    monDoc.AfterProperties["Name"] = monDoc["Name"].ToUpper();

  5. #5
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Merci pour l'info.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2008, 12h04
  2. changer le nom d'un TabPage dans un TabControl
    Par DEV-10 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2007, 16h58
  3. Changer le nom d'un document (creer plusieurs versions)
    Par pezihale_84 dans le forum Access
    Réponses: 8
    Dernier message: 30/06/2006, 09h26
  4. [sql 2005]: changer le nom d'une colonne dans un table
    Par TheLittle dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2006, 15h29
  5. Changer le "Nom de l'image" dans l'onglet processu
    Par Thomas1434 dans le forum Windows
    Réponses: 1
    Dernier message: 24/02/2006, 04h07

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