A propos | articles | Services | Logiciels | Contact

Personnalisation ListFormWebPart URL retours

Eh bien, je ne savais pas ce truc, et aujourd'hui un co-travailleur, il m'a fait remarquer, que je souhaite que j'aurais connu auparavant lors de l'écriture WebParts interface personnalisée qui interagissent avec les listes SharePoint.

Disons que vous développez une WebPart qui interagit avec une liste, comme quelque chose qui affiche la liste de vos articles d'une manière propre qui soit propice à quelque donnée à vos besoins logiciels sont. Par exemple, j'écrivais un WebPart pour la dernière semaine, ou que construit une collection d'objets et ne SPView coutume de baguage des événements dans une vue de type personnalisé Calendrier afin que nous puissions l'essentiel de la couleur des événements code dans un calendrier afin qu'il était plus similaire à Outlook. Il était facile pour un utilisateur ensuite d'afficher ces événements regroupés parce qu'ils ne pouvaient naviguer par couleurs.
Sur cette WebPart, je voulais offrir à mes utilisateurs un moyen d'ajouter directement des éléments de liste dans l'entête de la WebPart, en supposant qu'ils avaient le droit à la même voir ce lien. Par conséquent, j'ai eu pour envelopper le lien vers la page NewForm.aspx avec un chèque booléenne en utilisant les SPListItem.EffectiveBasePermissions bien à la récolte de l'adhésion des utilisateurs actuels et des politiques de groupe, puis utilisez l'énumération SPBasePermissions afin d'obtenir ce que les actions sont légales pour la actuel de l'utilisateur qui cherche à la WebPart. La chose à garder à l'esprit à propos de cette WebPart est je ne l'ai pas où le ListFormWebPart feriez habituellement en soit, il existait dans un annuaire des pages. Ainsi, lorsqu'un utilisateur a ajouté un nouveau point, ils ont été redirigés vers la vue de liste par défaut la forme, ce qui s'est passé avec l'ensemble des actions CRUD quand on travaille avec la liste.

J'ai eu à le faire (rapidement 5 minutes) donc j'ai simplement grâce à ce mandrin de code pour l'ajouter le lien nouvel élément dans l'en-tête (il n'est évidemment pas le meilleur code de pratique tout à fait mais ce n'est pas le sujet de ce post):

C #:
  1. string r00tUrl;
  2. SPList SPList;
  3. Context ) . RootWeb SPWeb curWeb = SPControl. GetContextSite (Context). Rootweb
  4. = r00tUrl curWeb. URL;
  5. "<your list>" ] ; = SPList curWeb. Lists [ "<votre list>"];
  6. splist != null ) if (SPList! = null)
  7. (
  8. splist. EffectiveBasePermissions & SPBasePermissions. AddListItems ) == SPBasePermissions. AddListItems ; canAddItem bool = (EffectiveBasePermissions splist. & SPBasePermissions. addListItems) SPBasePermissions ==. addListItems;
  9. canAddItem ) if (canAddItem)
  10. (
  11. " str. AppendFormat ( "
  12. + "Add New Event" + "</a>" , r00tUrl ) ; "+" <A xhref = (0) / lists / <votre list> / NewForm.aspx> "+" Ajouter un nouvel événement "+" </ a> ", r00tUrl);
  13. "" ) ; str. AppendFormat ( "");
  14. )
  15. )

Mais ce faisant, on rediriger l'utilisateur vers la vue par défaut de la liste après la ajouté l'article. J'ai appris que vous devez ajouter une petite chaîne Source requête à la fin de l'URL pour rediriger l'utilisateur vers la page personnalisée, comme ça? Source = / pages / CustomPage.aspx

Donc, mon nouveau code ressemble à ceci:

C #:
  1. string r00tUrl;
  2. SPList SPList;
  3. Context ) . RootWeb SPWeb curWeb = SPControl. GetContextSite (Context). Rootweb
  4. = r00tUrl curWeb. URL;
  5. "<your list>" ] ; = SPList curWeb. Lists [ "<votre list>"];
  6. splist != null ) if (SPList! = null)
  7. (
  8. splist. EffectiveBasePermissions & SPBasePermissions. AddListItems ) == SPBasePermissions. AddListItems ; canAddItem bool = (EffectiveBasePermissions splist. & SPBasePermissions. addListItems) SPBasePermissions ==. addListItems;
  9. canAddItem ) if (canAddItem)
  10. (
  11. " str. AppendFormat ( "
  12. + "Add New Event" + "</a>" , r00tUrl ) ; "+" <A xhref = (0) / lists / <votre list> / NewForm.aspx? Source = / pages / Calendar.aspx> "+" Ajouter un nouvel événement "+" </ a> ", r00tUrl);
  13. "" ) ; str. AppendFormat ( "");
  14. )
  15. )

Works great!

  • Share / Bookmark

Related posts:

  1. Test si un utilisateur a SPBasePermission Sur SPList Object
  2. Multiples SPListItemCollection requête avec SPFieldLookupValue
  3. Contrôle SPField Display
  4. Clonage liste SharePoint sécurité (Freeware Outil de sécurité)
  5. Collections fortement typées liste SharePoint Template By Type


4 Commentaires »

  1. [...] Sharepoint: Personnalisation ListFormWebPart URL renvoie [...]

    Pingback par 8 Aujourd'hui Liens (2007-08-07) - 7 août 2007 @ 8:24

  2. [...] Personnalisation ListFormWebPart URL retours [...]

    Pingback par Liens (8/7/2007) «Steve Pietrek SharePoint's Stuff - 7 août 2007 @ 5:33 pm

  3. Salut,
    Je travaille sur le projet de calendrier SharePoint et mon problème est que je veux mettre un lien dans mon calendrier qui tienne à quelque autre page Web ou un autre site web, je suis nouveau ce domaine et à la recherche d'une solution à ce problème. woulb toute aide soit apprecaiting

    Commentaire de heena - Mai 14, 2008 @ 4:03 pm

  4. J'ai besoin d'aide sur la modification du look de former la liste pour un nouveau point (NewItem.aspx). Je veux faire le type de zone de contrôle de texte, utilisé pour les listes de choix, à être plus large afin d'éliminer la nécessité d'une barre de défilement horizontale (Besoin en plus de colonnes).
    Nous vous remercions à l'avance.
    Cordialement,

    Commentaire de Doru - 13 avril 2009 @ 3:07

Flux RSS pour les commentaires sur ce post. TrackBack URL

Laissez un commentaire