[SharePoint 2010] Comportamiento extraño al pasar el parámetro “id” por QueryString a una página Wiki

Estaba desarollando un WebPart custom para una página wiki de un sitio de SharePoint 2010 el cual recibía un parámetro por QueryString llamado “id” y cual es mi sorpresa que al pasar dicho parámetro no se ve mi WebPart y me muestra el contenido de otra página Wiki. Para ver que la cosa no tenía que ver con mi desarrollo me he creado un Team Site de pruebas que contiene las 2 páginas iniciales:

image

Cargamos la Home.aspx:

image

y la pasamos el parámetro id por QueryString igual a 2:

image

O_o Nos carga el contenido de la página How To Use This Library (Sí le pasamos el 1 carga el contenido de la Home) y si le pasamos un parámetro como por ejemplo el 3 que no existe ninguna página con ese id, falla:

image

¿A que se debe esto?

Pues si buscamos la excepción en el log C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14LOGS encontramos esto:

Microsoft.SharePoint.SPException: No item exists at http://server/sites/test/SitePages/Home.aspx?id=3.  It may have been deleted or renamed by another user.    at Microsoft.SharePoint.SPContext.get_Item()     at Microsoft.SharePoint.SPContext.get_Fields()     at Microsoft.SharePoint.WebControls.FieldMetadata.get_Field()     at Microsoft.SharePoint.WebControls.FormField.CreateChildControls()     at System.Web.UI.Control.EnsureChildControls()     at Microsoft.SharePoint.WebPartPages.WikiEditPage.OnLoad(EventArgs e)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    721550ee-4f30-4c5a-8891-a758143ed23d

Está claro que en alguna parte del código está obteniendo ese id del QueryString e intentando obtener el item que corresponde con ese id.

Un saludo.

3 comentarios en “[SharePoint 2010] Comportamiento extraño al pasar el parámetro “id” por QueryString a una página Wiki”

  1. Estuvimos programando juntos en Toledo-Soft, Juan Carlos de Gerindote, seguro que te acuerdas de mi. He visto tu foto y he dicho coño el de Cebolla, que currete está con la corbata.

    Te voy a hacer una pregunta. Ya pensando en la Web 2.0, y los cambios normalizados 3wc que se va a introducir en HTML5, que van a modificar radicalmente la web y obligará a reescribir muchos framework y a otros condenarles a desaparecer.

    Por que técnología debo apostar, a parte de .Net, que ya la estoy utilizando. O es mejor esperar un par de años a que esto se redefina un poquito mas. Tengo la sensación de que las grandes empresas, nuevamente van a apostar por programas compilados en C, trabajar online el
    browser y el servidor va a requerir programas muy rápidos y no script interpretados.

    A ti que te parece.
    Gracias Luís y me alegro de que te vaya bien.

  2. Según mi opinión (que nadie me ha pedido) las empresas van a ser reticentes a cambiar a navegadores que soporten HTML5. Muchas gordas todavía tienen el Windows XP con IE6.

    Yo de momento, y hasta que se aclare un poco más el tema seguiré con Silverlight para las RIA. Creo que las cotas de productividad que se alcanzan con Silverlight son difícilmente superables.

  3. Joe Juan Carlos cuanto tiempo!!! Que buenos recuerdos!! Como para no acordarme!!!

    Hombre, yo creo que apostar por tecnología Microsoft es una apuesta segura, teniendo una buena base de NET y luego extenderla a hacia tecnologías como ASP.MVC, WPF, Silverlight, WCF, EF… o hacía productos como SharePoint, Windows Phone…

    Creo que también es bueno conocer JavaScript, está pegando muy fuerte el uso en aplicaciones RIA en cliente, ya sea con JQuery, Node.js, Backbone, Knockout…

    Un saludo.

    PD: Mandame tu correo 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *