2011-11-18 75 views
2

在視圖中很容易找到,但有什麼方法讓用戶在索引控制器中的名稱?如何檢查Asp.Net MVC控制器的動作如果用戶登錄

我有我的索引行動,並根據用戶在我loged是否要登錄傳遞一個S-參數,以我的索引行動,像這樣:

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

是即時通訊使用默認的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沒有顯示任何提示,我可以在控制器中使用這樣的代碼,但這是我所需要的 –

相關問題