Kom ihåg mig?
Home Menu

Menu


ASP.NET MVC Controller Användare

Ämnesverktyg Visningsalternativ
Oläst 2014-06-19, 17:13 #1
SweLogan SweLogan är inte uppkopplad
Medlem
 
Reg.datum: Sep 2007
Inlägg: 148
SweLogan SweLogan är inte uppkopplad
Medlem
 
Reg.datum: Sep 2007
Inlägg: 148
Standard 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());
}
SweLogan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-06-21, 03:29 #2
rhdf rhdf är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2006
Inlägg: 359
rhdf rhdf är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2006
Inlägg: 359
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]
public ActionResult Index()
{
var id =(int) Membership.GetUser().ProviderUserKey;
return View(ToDoListService.GetByUser(id));
}
rhdf är inte uppkopplad   Svara med citatSvara med citat
Oläst 2014-06-21, 12:12 #3
gooses avatar
goose goose är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2007
Inlägg: 451
goose goose är inte uppkopplad
Flitig postare
gooses avatar
 
Reg.datum: Jun 2007
Inlägg: 451
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
goose är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 10:01.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017