![]() |
ASP.NET MVC Controller Användare
Hej, ny på ASP.NET MVC,
Ska lista upp en ToDo lista som är kopplad till en användare. Koden funkar men känns som att det borde finnas nått annat sätt / "rätt" sätt att hämta ut användare.ID?? // GET: /ToDo/ public ActionResult Index() { var id = (new AccountController()).UserManager.FindByName(User.I dentity.Name).Id; var todoes = db.ToDoes.Where(u => u.UserId == id); return View(todoes.ToList()); } |
nja, Eftersom det funkar känns det ju mer som ett "best practices fall"
vilken typ av inloggning använder du ? SimpleMembership eller den gamla klassiska membership-provider lösningen? För SimpleMembership så får du lägga till [InitializeSimpleMembership] till din controller och sedan int currentUserId = (int) Membership.GetUser().ProviderUserKey; I övrigt så är jag ju "arbetsskadad" och tycker att du skall flytta ut var todoes = db.ToDoes.Where(u => u.UserId == id); till ett service-lager ( för mer läsning om detta: http://www.asp.net/mvc/tutorials/old...ely-coupled-cs) även om din metod i dagsläget är rätt "smal" så kanske det i framtiden dyker upp ett scenario där du skall kolla om en viss användare verkligen får se vissa saker eller liknande Controller-metoder skall innehålla så lite kod som möjligt det du vill ha (ja det vill du) är nånting i stil med Kod:
[Authorize] |
Ni ska nog kolla på asp.net identity som är det nya och ersätter simplemembership och den gamla membership-providern : http://www.asp.net/identity
|
Alla tider är GMT +2. Klockan är nu 10:50. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson