Acerca de | Artículos | Servicios | Software | Contacto

Personalización de ListFormWebPart URL Devoluciones

Bueno, yo no sabía este truco, y hoy un compañero de trabajo apuntó hacia mí, que ojalá hubiera conocido antes al escribir WebParts interfaz personalizada que interactúan con las listas de SharePoint.

Digamos que usted está desarrollando una WebPart que interactúa con una lista, como algo que muestra la lista de artículos de una manera clara que conduzca a lo que sus requisitos de software dada. Por ejemplo, yo estaba escribiendo una WebPart para la última semana o así que construyó una colección de objetos SPView y no personalizada de anillamiento de los hechos en una vista personalizada Tipo de calendario para que básicamente podrían color acontecimientos de código en un calendario de manera que era más similar a la de Outlook. Se hizo más fácil para un usuario a continuación para ver los eventos agrupados, ya que pueden navegar por el color.
En este WebPart, quería ofrecer a mis usuarios una forma de añadir directamente los elementos de lista en la cabecera de la WebPart, suponiendo que tenía los derechos de incluso ver en este enlace. Por lo tanto, tuve que envolver el enlace a la página NewForm.aspx con un cheque boolean utilizando el SPListItem.EffectiveBasePermissions propiedad de la cosecha el número de miembros del grupo y los usuarios actuales de las políticas, y luego utilizar la enumeración SPBasePermissions con el fin de conseguir lo que las acciones son legales para la usuario actual que está estudiando la WebPart. Lo que hay que tener en cuenta sobre este WebPart era yo no lo tenía en la ListFormWebPart normalmente sería, existía en un directorio de las Páginas. Así, cuando un usuario añade un nuevo elemento, se les redirige a la vista predeterminada forma de lista, esto sucedió con todas las acciones CRUD cuando se trabaja con la lista.

Tuve que hacerlo rápido (5 minutos) por lo que sólo a través de este plato de código para añadir el enlace nuevo tema en el encabezado (que obviamente no es del todo código de buenas prácticas, pero que no es objeto de este post):

C #:
  1. r00tUrl cadena;
  2. SPList SPList;
  3. Context ) . RootWeb CurWeb SPWeb = SPControl. GetContextSite (contexto). RootWeb
  4. = r00tUrl curWeb. url;
  5. "<your list>" ] ; = SPList curWeb. Listas [ "<su 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 / <su list> / NewForm.aspx> "+" Añadir un nuevo evento "+" </ a> ", r00tUrl);
  13. "" ) ; str. AppendFormat ( "");
  14. )
  15. )

Pero al hacerlo se redirige al usuario a la vista predeterminada de la lista después de que el añadido del tema. Me enteré de lo que tienes que añadir una pequeña cadena consulta de origen hasta el final de la URL para redirigir al usuario a la página personalizada, como esta? Source = / pages / CustomPage.aspx

Así pues, mi nuevo código se parece a esto:

C #:
  1. r00tUrl cadena;
  2. SPList SPList;
  3. Context ) . RootWeb CurWeb SPWeb = SPControl. GetContextSite (contexto). RootWeb
  4. = r00tUrl curWeb. url;
  5. "<your list>" ] ; = SPList curWeb. Listas [ "<su 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 / <su list> / NewForm.aspx Source = / pages / Calendar.aspx> "+" Añadir un nuevo evento "+" </ a> ", r00tUrl);
  13. "" ) ; str. AppendFormat ( "");
  14. )
  15. )

Funciona muy bien!

  • Compartir / Guardar

Puestos relacionados con:

  1. Prueba de si un usuario tiene SPBasePermission El SPList Objeto
  2. Múltiples SPListItemCollection consulta con SPFieldLookupValue
  3. Control de SPField pantalla
  4. La clonación de lista de SharePoint de Seguridad (Freeware Herramienta de seguridad)
  5. Inflexible de tipos Colecciones lista de SharePoint Por Tipo de plantilla


4 Comentarios »

  1. [...] Sharepoint: Personalizar ListFormWebPart Devoluciones URL [...]

    Pingback por 8 Enlaces de hoy (2007-08-07) - 7 de agosto, 2007 @ 8:24 am

  2. [...] Personalización ListFormWebPart Devoluciones URL [...]

    Pingback por Enlaces (8/7/2007) SharePoint «Steve Pietrek's Stuff - 7 de agosto de 2007 @ 5:33 pm

  3. hola,
    Estoy trabajando en el proyecto de calendario de SharePoint y mi problema es que quiero poner un enlace en mi calendario que lleva a otra página o algún otro sitio web, soy nuevo en este campo y en busca de alguna solución a este problema. cualquier ayuda woulb ser apprecaiting

    Comentario de Heena - 14 de mayo, 2008 @ 4:03 pm

  4. Necesito ayuda acerca de cómo modificar el aspecto del formulario de la lista para el nuevo artículo (NewItem.aspx). Quiero hacer el tipo de área de texto del control, utilizado para las listas de búsqueda, a ser más amplio a fin de eliminar la necesidad de una barra de desplazamiento horizontal (necesidad de más columnas).
    Gracias de antemano.
    Saludos cordiales,

    Comentario de Doru - 13 de abril, 2009 @ 3:07 am

RSS de comentarios de esta entrada. TrackBack URL

Deja tu comentario