2011-11-18 4 views
2

Легко узнать в представлении, но есть ли способ получить имя пользователя в контроллере индекса?Как проверить действие контроллера Asp.Net MVC, если пользователь зарегистрирован в

У меня указательное действия и в зависимости от того loged в I пользователь хочет Войти, чтобы быть принято sparameter к указательным действиям так:

public ActionResult Index(userName) 
    { 

     var topTenList = repository.FindAllTopTen(userName).ToList(); 
     var currentList = repository.FindAllCurrentFav(userName).ToList(); 
     var genreListTemp = repository.FindAllGenres(userName).ToList(); 
     var userListTemp = repository.FindAllUsers().ToList(); 


     return View(new HomeViewModel() 
     { 
      topTenFavList = topTenList, 
      currentFavList = currentList, 
      genreList = genreListTemp, 
      userList = userListTemp 

     }); 
    } 
+1

Какой член/поставщик услуг вы используете? Если вы используете aspnet membershipProvider, вам просто нужно [Авторизовать] свой метод и получить имя пользователя, просто используйте User.Identity.Name – shennyL

+0

yes im, используя членство asp.net по умолчанию, но мне нужно передать имя пользователя в качестве параметра к действию индекса, поэтому я могу запросить правильную модель, чтобы передать ее моим взглядам –

ответ

2

Вы на самом деле не нужно, чтобы передать его в случае они аутентифицированы:

public ActionResult Index() 

{

string userName = User.Identity.Name; 

var topTenList = repository.FindAllTopTen(userName).ToList(); 
var currentList = repository.FindAllCurrentFav(userName).ToList(); 
var genreListTemp = repository.FindAllGenres(userName).ToList(); 
var userListTemp = repository.FindAllUsers().ToList(); 


return View(new HomeViewModel() 
{ 
    topTenFavList = topTenList, 
    currentFavList = currentList, 
    genreList = genreListTemp, 
    userList = userListTemp 

}); 

}

+0

спасибо, intellisense не показывал мне никаких намеков на то, что я мог бы использовать такой код в контроллере, но это то, что мне нужно –

Смежные вопросы