Foros

 
ForumForumForos DNNForos DNNDesarrolloDesarrolloObtener datos de la session de un usuario.Obtener datos de la session de un usuario.
Anterior Anterior
 
Siguiente Siguiente
Nuevo Mensaje
 05/06/2010 20:20
 

Hola.. compañeros

tengo una duda. Como puedo obtener los datos de la session de un usuario como: nombre, role, el ID del usuario, el correo. Dentro del modulo que estoy desarrollando el usuario puede enviar un mensaje al admin del portal pero necesito los datos del usuario para que este no tenga que escribirlos. La idea es que el usuario solo escriba su mensaje y lo envie.

Agradezco cualquier aporte.

Nuevo Mensaje
 07/06/2010 13:15
 

Hola, tienes que añadir la siguiente libreria de Dotnetnuke

using DotNetNuke.Entities.Users;

y ahora usndo los metodos propios del framework de Dotnetnuke puedes campturar la información que quieras, por ejemplo.

int IdUsuario = UserInfo.UserID;

es solo un ejemplo, con UserInfo. si ves los metodos que tiene, puedes capturar toda la información que quieras.

espero que te sirva.

Un saludo


www.lgisoluciones.com
Nuevo Mensaje
 07/06/2010 13:18
 

Creo que no se puede adjuntar nada en este foro, tengo un modulo echo de una bandeja de correo en C#, te pego el código para que te hagas una idea. las consultas son con LinQ.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using DotNetNuke;

using DotNetNuke.Entities.Users;

namespace bandejaCorreo

{

public partial class BandejaCorreo : DotNetNuke.Entities.Modules.PortalModuleBase

{

protected void Page_Load(object sender, EventArgs e)

{

int IdUsuario = UserInfo.UserID;

using (BandejaDataContext db = new BandejaDataContext())

{

var consulta =

from U in db.CambioCorreo

where U.IdUsuario == IdUsuario

select new

{

idCorreo = U.IdCorreo,

Asunto = U.Asunto,

Cuerpo = U.Cuerpo,

Leido = U.Leido,

Mandado = U.userMandado,

Fecha = U.fechaEnvio

};

rptBandeja.DataSource = consulta;

rptBandeja.DataBind();

}

}

protected void responder_Command(object sender, CommandEventArgs e)

{

int id = int.Parse(e.CommandArgument.ToString());

using (BandejaDataContext bd = new BandejaDataContext())

{

var ficha =

from F in bd.CambioCorreo

where F.IdCorreo == id

select F;

foreach (var C in ficha)

{

Response.Redirect("http://www.eligetucambio.com/Correo.aspx?id=" + C.IdUserMandado);

}

}

}

protected void ver_Command(object sender, CommandEventArgs e)

{

mvBandeja.SetActiveView(vwcorreo);

int id = int.Parse(e.CommandArgument.ToString());

using (BandejaDataContext bd = new BandejaDataContext())

{

var ficha =

from F in bd.CambioCorreo

where F.IdCorreo == id

select F;

CambioCorreo Cc = bd.CambioCorreo.Single(c => c.IdCorreo == id);

Cc.Leido = true;

bd.SubmitChanges();

foreach (var Fi in ficha)

{

lblFecha.Text = Fi.fechaEnvio.ToString();

lblMailDe.Text = Fi.Users.Username;

lblAsunto.Text = Fi.Asunto;

lblDescripcion.Text = Fi.Cuerpo;

}

}

}

protected void borrar_Command(object sender, CommandEventArgs e)

{

try

{

int IdUsuario = UserInfo.UserID;

int id = int.Parse(e.CommandArgument.ToString());

using (BandejaDataContext bd = new BandejaDataContext())

{

var ficha =

from F in bd.CambioCorreo

where F.IdCorreo == id

select F;

CambioCorreo Cc = bd.CambioCorreo.Single(c => c.IdCorreo == id);

bd.CambioCorreo.DeleteOnSubmit(Cc);

bd.SubmitChanges();

}

using (BandejaDataContext db = new BandejaDataContext())

{

var consulta =

from U in db.CambioCorreo

where U.IdUsuario == IdUsuario

select new

{

idCorreo = U.IdCorreo,

Asunto = U.Asunto,

Cuerpo = U.Cuerpo,

Leido = U.Leido,

Mandado = U.Users.Username,

Fecha = U.fechaEnvio

};

rptBandeja.DataSource = consulta;

rptBandeja.DataBind();

}

}

catch { }

}

protected void Button1_Click(object sender, EventArgs e)

{

mvBandeja.SetActiveView(vwbandeja);

}

}

}

espero que te sirva.

Un saludo


www.lgisoluciones.com
Nuevo Mensaje
 08/06/2010 16:19
 

Hola...Hiunkeru

Gracias por tu colaboracion. La verdad me estoy iniciando en DotNetNuke y no sabia que tenia esa libreria. Gracias por el codigo va a ser de gran utilidad. Tambien he estado estudiando algo de Linq to SQL ya que facilita mucho las cosas al momento de hacer consultas a la BD.

Nuevo Mensaje
 09/06/2010 12:48
 

Para eso estamos ;)

Siempre que puedas utiliza librerias de Dotnetnuke, es mejor perder un poco el tiempo, conociendo que nos ofrece el FrameWork de dnn(que casi siempre tiene algo para solucionar lo que queremos hacer).

Si tengo tiempo, preparare un articulo con las librerias de Dnn mas utiles, asi lo tendremos todos de referencia ;)

Saludos


www.lgisoluciones.com
Anterior Anterior
 
Siguiente Siguiente
ForumForumForos DNNForos DNNDesarrolloDesarrolloObtener datos de la session de un usuario.Obtener datos de la session de un usuario.

En total, tenemos 1098 nuevo(s) hilo(s) y 5265 nuevo(s) mensaje(s)
Los hilos más populares han estado en ¿por que?
Los hilos más activos han estado en no veo el portal desde los pc's de la red

Más activos


UserTotalPosts
jmaldonadom 1101
anonymous 798
javier 488
Faco 395
hiunkeru 184
vitolo 182
Guillaume 168
ccolonia 159
dormio 157
elijo_otroo 138
sonsai 84
Dreamvk 67
tirillos 48
vte_torres 47
oskr226 46

Últimos Mensajes...