none
Nuevo Formulario para una lista customizada (MyNewForm.aspx + CodeBehind) RRS feed

  • Pregunta

  • Buenas a todos!

    He estado intentado cambiar el formulario para crear un nuevo item para una lista personalizada creada con la extensión de Visual Studio para Windows SharePoint Services (VSEWSS) pero no he logrado que dicho formulario personalizado se muestre.

    Lo primero he agregado a mi lista personalizada (Prueba) el archivo MyNewForm.aspx, primero en la carpeta de mi lista "Prueba" y despues he agregado dicho archivo en la carpeta "Templates/FEATURES/Prueba/Prueba" tambien dentro de mi proyecto, anteriormente he creado una Plantilla en mi proyecto SP con la extensión para acceder directamente desde aquí a la carpetas de los features de mi sitio. Y creo que todo va bien hasta el momento porque en la vista WSP me aparece mi pagina MyNewForm.aspx en el feature de la mi lista Prueba. El archivo feature.xml queda de la siguiente manera:


    <?xml version="1.0" encoding="utf-8"?>
    <Feature Id="8f1b3372-e954-498b-8a1d-fe31d9a8b8fd" Title="Prueba" Scope="Web" Version="1.0.0.0" Hidden="FALSE" DefaultResourceFile="core" xmlns="http://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="Prueba\ListDefinition.xml" />
        <ElementFile Location="Prueba\schema.xml" />
        <ElementFile Location="Prueba\AllItems.aspx" />
        <ElementFile Location="Prueba\DispForm.aspx" />
        <ElementFile Location="Prueba\EditForm.aspx" />
        <!--<ElementFile Location="Prueba\NewForm.aspx" />-->
        <ElementFile Location="Prueba\MyNewForm.aspx" />
      </ElementManifests>
    </Feature>



    Despues de esto modifico el schema.xml de la lista Prueba para que cuando intente añadir un nuevo elemento a la lista abra MyNewForm.aspx en lugar de NewForm.aspx. Quedaria de esta manera:


    <Forms>
    	<Form Type="DisplayForm" Url="DispForm.aspx" WebPartZoneID="Main"/>
    	<Form Type="EditForm" Url="EditForm.aspx" WebPartZoneID="Main"/>
    	<!--<Form Type="NewForm" Url="NewForm.aspx" WebPartZoneID="Main"/>-->
    	<Form Type="NewForm" Url="/_layouts/MyNewForm.aspx" WebPartZoneID="Main"/>
    </Forms>
     


    Al generar me da un error como que no se encuentra NewForm.aspx asi que comento en el feature la linea donde se declara en el manifiesto.
    Vuelvo a generar y todo perfecto. Voy a mi sitio Sharepoint, intento insertar un nuevo elemento sólo para ver si me muestra MyNewForm.aspx pero no encuentra la página el navegador. La verdad que no tengo ni idea idea de por qué.

    Aquí esta el código de MyNewForm.aspx al completo, es algo muy sencillo para que muestre un simple Hola en el PlaceHolderMain.


    <%@ Page MasterPageFile="~masterurl/default.master" Inherits="ProyectoPruebas, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5" %>
    <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
        <asp:Label ID="label" Text="Hola Mundo" runat="server"></asp:Label>
    </asp:Content> 
     


    Tambien he probado a meter la página MyNewForm.aspx en el directorio /TEMPLATES/LAYOUTS/ y cambiar la ruta en el schema.xml de la dirección de la página (URL) y no he conseguido verla al intentar añadir un nuevo item a la lista, me da que no encuentra la página.

    Después de poder cambiar mi formulario para agregar un nuevo elemento a la lista intentaré acompañar el formulario con una clase (CodeBehind)

    ¿alguna idea de por qué puede ser?

    Muchas Gracias y saludos a todos
    • Editado jaime35740 lunes, 17 de agosto de 2009 13:14
    lunes, 17 de agosto de 2009 13:05

Respuestas

Todas las respuestas

  • Jaime, no creo que aporte mucho esto, pero quizá direccione la causa del problema.
    Luego de poner la página en /Template/Layouts, has probado escribir la url "a mano" en Internet Explorer y ver si encuentra la página?

    Saludos,
    Juan Pablo,
    http://surpoint.blogspot.com/
    miércoles, 19 de agosto de 2009 15:48
  • Hola Juan Pablo,

    si, una página que meto en /Template/Layouts la puedo ver sin problemas metiendo al dirección en el navegador (siendo una página normal aspx con su .cs para manejar sus eventos).

    En cambio si le doy el formato de página como la que puse en el anterior post, para que se muestre en el PlaceHolderMain de Sharepoint, me da un error de sharepoint (error desconocido).

    Está página es la que me da el error de sharepoint sin intento acceder a través de la dirección directamente

    <%@ Page MasterPageFile="~masterurl/default.master" Inherits="ProyectoPruebas, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=9f4da00116c38ec5" %>
    <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
        <asp:Label ID="label" Text="Hola Mundo" runat="server"></asp:Label>
    </asp:Content>
    No se si esto te orienta a entender lo que está fallando o me falta por hacer. La verdad que en estos dos "problemas" no sé donde pueden estar sus errores.

    Muchas Gracias y Saludos.


    jueves, 20 de agosto de 2009 9:28
  • En este post se explica detenidamente como asignarle a una página ASPX la masterpage de SharePoint

    http://gavd.net/servers/sharepointv3/spsv3_item.aspx?top=cod&itm=562

    Saludos, Jaime.
    miércoles, 23 de septiembre de 2009 7:17
  • Hola Jaime:

    Lograste cambiar el formulario cuando creas un nuevo item?. Porfavor, me puedes enviar lo que hiciste? paso a paso ya que soy novata en esto. gracias.

     

    Deysy Avila

    lunes, 7 de junio de 2010 5:35