Invio di e-mail quando l'utente Fare clic su un pulsante specificato
Domanda
Sono un principiante di SharePoint 2010.
Vorrei inviare un'email quando un utente fare clic su un pulsante personalizzato specificato rispetto a un elemento in un elenco.
Vorrei aggiungere nel corpo dell'email Alcune informazioni sull'elemento selezionato come la colonna "Titolo" o "Autore".
Ho trovato questo codice per inviare e-mail e l'ho copiato in una pagina .aspx.Questa pagina riceve anche un parametro da querystring.Il parametro è "list_name" che specifica il nome dell'elenco in cui si fa clic sul pulsante.Penso che questo potrebbe essere usato per specificare il frammento SP da qualche parte nel codice, ma non so esattamente dove e come farlo.
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);
.
Ma la mia domanda (probabilmente stupida) è: come posso recuperare i dati dall'elenco e utilizzarlo in questa pagina .aspx che invia l'e-mail?
Grazie!
Soluzione
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();