Usuario
Cómo editar usuarios en ASP.NET MVC

Pregunta
-
Hola amigos, saludos.
Estoy desarrollando un proyecto en ASP.NET con MVC usuando la autenticación de usuarios que ya trae por defecto.
He logrado realizar la vista para mostrar todos los usuarios registrados en el sistema; pero ahora deseo EDITARLOS, al momento de seleccionar el usuario mediante un link de editar, me mande a la vista con los datos de ese usuario y los pueda editar.
Entiendo que debo tener un ActionResult llamado Editar en el controlador correspondiente y luego tener tambien la vista de Editar. Lo que no sé es lo que lleve ese ActionResult y esa Vista de Editar.
De antemano muchas gracias.
Todas las respuestas
-
Hola JuanPaz2018
Con respecto a tu consulta, ¿podrías por favor colocar tu avance, ya sea código y/o form? esto es con el fin de que los colaboradores del foro puedan comprender mejor tu consulta y trabajar en una solución pronta.
Quedamos al pendiente de cualquier comentario de tu parte.
Saludos Cordiales.
Gracias por usar los foros de MSDN.
Pablo Rubio
_____Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
-
hola
>>Lo que no sé es lo que lleve ese ActionResult y esa Vista de Editar.
el actionresult deberias retornar la view de edicion
[Get] public ActionResult Editar(int usuarioId){ //aqui obtienes el usuario en base al id var model = ....; return View(model); }
la idea es que la entidad que obtengas la uses como model de la view
lo que no queda claro es si usas asp.net membership o si es Identity, porque los modelos cambian
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Buenas Leandro uso IDENTITY.
Creé un controlador de la Clase Account Controller, para poder VER, EDITAR Y ELIMINAR los usuarios registrados en el sistema.
Al llamar a una de estar vistas me dá este error.
'No se admiten varios conjuntos de objetos por tipo. Los conjuntos de objetos 'ApplicationUsers' y 'Users' pueden contener instancias de tipo 'EJEMPLO.Models.ApplicationUser'.'
-
public class ApplicationUsersController : Controller { private ApplicationDbContext db = new ApplicationDbContext(); // GET: ApplicationUsers public async Task<ActionResult> Index() { return View(await db.ApplicationUsers.ToListAsync()); } // GET: ApplicationUsers/Details/5 public async Task<ActionResult> Details(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ApplicationUser applicationUser = await db.ApplicationUsers.FindAsync(id); if (applicationUser == null) { return HttpNotFound(); } return View(applicationUser); } // GET: ApplicationUsers/Create public ActionResult Create() { return View(); } // POST: ApplicationUsers/Create // Para protegerse de ataques de publicación excesiva, habilite las propiedades específicas a las que desea enlazarse. Para obtener // más información vea https://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public async Task<ActionResult> Create([Bind(Include = "Id,NombreUsuario,Estado,IdEmpleado,IdGrupo,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] ApplicationUser applicationUser) { if (ModelState.IsValid) { db.ApplicationUsers.Add(applicationUser); await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(applicationUser); } // GET: ApplicationUsers/Edit/5 public async Task<ActionResult> Edit(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ApplicationUser applicationUser = await db.ApplicationUsers.FindAsync(id); if (applicationUser == null) { return HttpNotFound(); } return View(applicationUser); } // POST: ApplicationUsers/Edit/5 // Para protegerse de ataques de publicación excesiva, habilite las propiedades específicas a las que desea enlazarse. Para obtener // más información vea https://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public async Task<ActionResult> Edit([Bind(Include = "Id,NombreUsuario,Estado,IdEmpleado,IdGrupo,Email,EmailConfirmed,PasswordHash,SecurityStamp,PhoneNumber,PhoneNumberConfirmed,TwoFactorEnabled,LockoutEndDateUtc,LockoutEnabled,AccessFailedCount,UserName")] ApplicationUser applicationUser) { if (ModelState.IsValid) { db.Entry(applicationUser).State = EntityState.Modified; await db.SaveChangesAsync(); return RedirectToAction("Index"); } return View(applicationUser); } // GET: ApplicationUsers/Delete/5 public async Task<ActionResult> Delete(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ApplicationUser applicationUser = await db.ApplicationUsers.FindAsync(id); if (applicationUser == null) { return HttpNotFound(); } return View(applicationUser); } // POST: ApplicationUsers/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public async Task<ActionResult> DeleteConfirmed(string id) { ApplicationUser applicationUser = await db.ApplicationUsers.FindAsync(id); db.ApplicationUsers.Remove(applicationUser); await db.SaveChangesAsync(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } }
-
Cuando ejecuto la vista del INDEX para llamar la lista de usuarios me dá el error antes mencionado me lo remarca aquí:
public async Task<ActionResult> Index() { return View(await db.ApplicationUsers.ToListAsync()); }
- Editado MaxLuna lunes, 26 de febrero de 2018 14:45