Hoy me preguntaban como tener páginas personalizadas para cada usuario, y la verdad si usáis el MemberShip de Asp.Net es algo muy sencillo. Os explico lo que debéis hacer.
Para empezar debéis tener creados diferentes Themes, lo que vamos a hacer es guardar en el profile (perfil) del usuario que theme tiene escogido y hacer la siguiente configuración en el Web.Config:
1 | <!—En el Web.Config, dentro de System.Web–> |
Web.Config
Ahora vamos a ver como guardar esa configuración el perfil. Os recuerdo que es necesario que el usuario haya iniciado sesión, si a que usuario se lo vamos a guardar¿?.
Para guardarlo debemos usar el siguiente código:
1 | ‘Editar perfil, es necesario tener iniciada la sesión |
Guardar el perfil
Ahora lo que nos queda es obtener esa propiedad del perfil y usarla en la página, aviso muy importante, las selecciones de themes se deben hacer en el evento PreInit, ya que una vez que la página sea renderizada no se podrá cambiar el aspecto total de la página:
1 | ‘Cambiar theme, en el evento PreInit, es necesario tener iniciada la sesión |
Código del evento PreInit
Espero que os sea útil y si necesitáis ayuda con temas, membership, etc… bueno cualquier tema de asp.net, no dudéis en mandarme un email y yo os ayudo.
Hice una actualización de este post, antes ponía que determinar el theme se debe de hacer en el evento PreRender, pues estaba aquivocado, debe ser en el PreInit o antes.
No esta bien explicado y esta un poco complicado.
hey y si quisieras cambiar el tema para todo el sitio pro que como lo estas explicando solo funsiona para la pagina en la que sobre escribiste el donde definiste el evento preinit