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