Question

Je suis un débutant de SharePoint 2010.

J'aimerais envoyer un courrier électronique lorsqu'un utilisateur clique sur un bouton personnalisé spécifié par rapport à un élément d'une liste.

Je voudrais ajouter dans le corps de l'e-mail quelques informations sur l'élément sélectionné comme la colonne "Titre" ou "Auteur".

J'ai trouvé ce code pour envoyer un email et je l'ai copié dans une page .aspx.Cette page reçoit également un paramètre par QueryString.Le paramètre est "Nom" qui spécifie le nom de la liste où vous clique sur le bouton.Je pense que cela pourrait être utilisé pour spécifier la liste SP quelque part dans le code, mais je ne sais pas exactement où et comment le faire.

StringDictionary headers = new StringDictionary();
string bodyTxt = "<b>Test Mail Bold</b>"; //for html mail body, you can send unformatted text too…

headers.Add("to", "mailadressfor_cc@domainname.com");
headers.Add("from", "mailadress_from@domainname.com");
headers.Add("subject", "Richiesta scambio prenotazione");
headers.Add("content-type", "text/html"); //for html mail body

SPUtility.SendEmail(properties.web, headers, bodyTxt);

Mais ma question (probablement stupide) est la suivante: comment puis-je récupérer des données de la liste et l'utiliser dans cette page .aspx qui envoie l'email?

merci!

Était-ce utile?

La solution

Since you have the list name in the query string use it to get SPList as below

SPWeb web = SPContext.Current.Web;
SPList list = web.GetListFromUrl(web.Url + “/Lists/ListName/Forms/AllItems.aspx“);

Then you can get properties from list.

Example:

String listTitle = list.Title;

If you want to get properties from a list item, you can pass item’s ID in the query string too, and get the item as below:

SPListItem item = list.GetItemByID(id);
String itemTitle = item.Title;
String itemFieldValue = item[“fieldname”] == null ? null : item[“fieldname”].ToString();
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top