comment passé le id dans la vue Edit
Bonjour;
J'ai crée une petit programme d'authentification avec asp mvc 5, j'utilise la bib asp.identity 2, et je veux permettre a l'utilisateur d'éditer son compte, après son authentification, j'appelle la méthode edit qui doit avoir en paramètre le id de l'utilisateur, le problème est dans ce id je ne sais pas comment le passé dans la vue voici ce que j'ai fais (ça marche pas)
Code:
1 2
|
@Html.ActionLink("Modifié votre compte ", "Edit" ,@User.Identity.GetUserId()) |
et voici ma méthode Edit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| public ActionResult Edit(string id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var user = UsersContext.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
return View(user);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "LastName,FirstName,Email,Adresse,DateN,Gender")] RegisterViewModel user)
{
try
{
bool testEmail = UsersContext.Users.Any(t => t.Email == user.Email);
if (ModelState.IsValid)
{
if (testEmail == false)
{
UsersContext.Entry(user).State = EntityState.Modified;
UsersContext.SaveChanges();
return RedirectToAction("Index");
}
else
ModelState.AddModelError("", "Cette adresse Email existe déjà");
}
}
catch (DataException /* dex */)
{
//Log the error (uncomment dex variable name and add a line here to write a log.
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
}
return View(user);
} |