Pregunta

En primer lugar, soy un novato en C # y SharePoint, (menos de un mes de experiencia), así que pido disculpas si esta es una pregunta obvia o fácil, pero he estado rastreando la red durante un par de días sin ningún éxito. .

Tengo un archivo xslt que he almacenado en un subdirectorio de "Biblioteca de estilos" desde el nuevo sitio web, pero ¿cómo puedo acceder a este desde c #?

He consultado SPSite y SPWeb pero ninguno parece capaz de hacer lo que quiero.

Cualquier y toda ayuda será recibida con gratitud.

Muchas gracias

c # novato

¿Fue útil?

Solución

Aquí hay un poco de código para recuperar los elementos de la lista de una lista:

SPList list = web.Lists["MyLibrary"];
            if (list != null)
            {
                var results = from SPListItem listItem in list.Items
                              select new 
                              {
                                  xxx = (string)listItem["FieldName"]),
                                  yyy  = (string)listItem["AnotherField"],
                                  zzz = (string)listItem["Field"]
                              };
            }

Para recuperar un archivo, también puede usar este método en SPWeb: GetFileAsString

Otros consejos

Patrick,

¡Espero que disfrutes tanto de C # como de SharePoint!

Consulte el artículo aquí .

Lea eso detenidamente y debería brindarle toda la asistencia que necesita.

Nick.

sin linq:

int itemId = getItemId();
SPWeb currentWeb = SPContext.Current.Web;
SPList list =  currentWeb.Lists["MyList"];
if ( list != null )
{
     SPListItem theItem = list.Items.GetItemById(itemId);
     doWork(theItem);
}

El SPWeb se puede recuperar de varias maneras, el uso de SPContext funcionará si el código se llama desde SharePoint. Para obtener un objeto SPWeb de una URL, puede usar el objeto SPSite, es decir,

using ( SPSite site = new SPSite(urlToWeb) )
{
   using (SPWeb web = site.OpenWeb())
   {
     doWork(web);
   }
}

la declaración de 'uso' garantiza que los recursos no administrados se reclamen de manera oportuna, al llamar 'Dispose ()' en los objetos relevantes.

HTH, jt

Por muy efectivo que sea, debería realmente analizar las mejores prácticas en relación con el almacenamiento de documentos en la 12 sección de la base de datos de contenido.

Hay respuestas mucho más escalables, que deben considerarse antes de elegir la ruta lemming.

Muchas gracias por su ayuda con esto. He usado un poco de cada uno y he hecho algunas lecturas adicionales y he encontrado lo siguiente:

private static string getXsl()
{
    string xslString = null;
    using (StreamReader streamReader = new StreamReader(
        File.Open(HttpContext.Current.Server.MapPath(@"~_layouts\theXSL.xslt"), FileMode.Open)))
    {
        xslString = streamReader.ReadToEnd();
    }
    return xslString;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top