Constantemente utilizamos la URL para pasar parámetros cuando estamos trabajando con SharePoint. De hecho el propio SharePoint es el primero que lo hace y el caso más fácil de ver, es cuando accedemos a un elemento de lista, ya sea en forma de edición o de presentación:
http://misitoweb/Lists/Alertas/EditForm.aspx?ID=39&Source=http%3A%2F%2Fmisitioweb%2FLists%2FAlertas%2FAllItems%2Easpx
En este ejemplo, podemos ver que tenemos dos parámetros ID y Source, que sirven para identificar el elemento y a dónde nos va a llevar una vez aceptemos o cancelemos la edición del elemento.
Normalmente para obtener y tratarlo, utilizaríamos JavaScript y/o JQuery, y trataríamos la URL.
La idea que propongo en esta entrada es encapsular una función que ya nos lo obtenga y que incluyéndola en un archivo .js, nos permitiría referenciarla en la página maestra y utilizar en nuestro portal.
El código sería sencillo:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
Esto nos permitiría recuperar dicho parámetro haciendo algo tan sencillo como:
var elemento = getUrlVars()["ID"];
var destino = getUrlVars()["Source"];
Y poder trabajar con ellas. Como se ve, es algo fácil y sencillo.
La idea la obtuve de:
http://papermashup.com/read-url-get-variables-withjavascript/