Pregunta

Soy un novato de SharePoint 2010.

Me gustaría enviar un correo electrónico cuando un usuario haga clic en un botón personalizado específico en relación con un elemento en una lista.

Me gustaría agregar al cuerpo del correo electrónico algunas informaciones sobre el elemento seleccionado como la columna "Título" o el "Autor".

He encontrado este código para enviar un correo electrónico y lo he copiado en una página de .aspx.Esta página también recibe un parámetro por consulta.El parámetro es "list_name" que especifica el nombre de la lista donde se hace clic en el botón.Creo que esto podría usarse para especificar la lista SP en algún lugar del código, pero no sé exactamente dónde y cómo lo hacen.

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);

Pero mi pregunta (probablemente estúpida) es: ¿Cómo puedo recuperar datos de la lista y usarlo en esta página de .aspx que envía el correo electrónico?

¡Gracias!

¿Fue útil?

Solución

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();
Licenciado bajo: CC-BY-SA con atribución
scroll top