2014-06-27 150 views
0

我是相當陌生的MVC和數據庫的東西。ASP.NET MVC - 根據用戶角色獲取數據庫數據

我需要做的是根據用戶的角色檢索數據。我可以從下表中獲取所有數據,但我只需要顯示特定數據。

 
tableId  roleId  data1  data2  data3 
    1   1   some data some data some data 
    2   1   some data some data some data 
    3   1   some data some data some data 
    4   2   some data some data some data 
    5   2   some data some data some data 
    6   3   some data some data some data 

因此,如果用戶登錄並分配了角色,我將如何從該角色的表中獲取數據? 如果我被分配了roleId 1,我應該只能看到表中的數據,其中roleId = 1。

我還在學習,這將是非常棒的幫助。

謝謝!

我的代碼:

控制器

private projectEntities db = new projectEntities(); 

    // GET: /Assessment/ 
    public ActionResult Index() 
    { 
     //return View(db.Scales.ToList()); 
     var data = new ModelServices().GetScale(); 
     return View(data); 


    } 

型號

public class ModelServices : IDisposable 
{ 
    private readonly projectEntities entities = new projectEntities(); 
    public IEnumerable GetScale() 
    { 
     return entities.Scales.ToList(); 
    } 
    public void Dispose() 
    { 
     entities.Dispose(); 
    } 
} 

查看:

@model IEnumerable<project.Models.Scale> 
@{ 
WebGrid grid = new WebGrid(Model); 
} 

@grid.GetHtml() 
+0

「我可以從下表中獲取所有數據,但我只需要顯示特定數據。」怎麼樣?你在使用SQL查詢嗎? LINQ?您可以隨時使用returnedDataSet.Where(c => c.roleId == 1; – StriplingWarrior

+1

);返回roleId = 1的行,其中returnedDataSet是您檢索的「從表中獲取數據」。 – shredding

+0

@StriplingWarrior - 使用Linq。 – forwardslashend

回答

0

我想創建一個新的SERV冰方法如下:

public IEnumerable<Scale> GetScalesWithRole(int roleId) 
{ 
    return entities.Scales.Where(s => s.RoleId == roleId).ToList(); 
}