【发布时间】:2014-08-19 03:19:29
【问题描述】:
我对 MVC 和数据库的东西还很陌生。
我需要做的是根据用户的角色检索数据。我可以从下表中获取所有数据,但我只需要显示特定数据。
tableId roleId data1 data2 data3 1 1 一些数据 一些数据 一些数据 2 1 一些数据 一些数据 一些数据 3 1 一些数据 一些数据 一些数据 4 2 一些数据 一些数据 一些数据 5 2 一些数据 一些数据 一些数据 6 3 一些数据 一些数据 一些数据如果用户登录并分配了一个角色,我将如何从表中获取该角色的数据? 如果我被分配了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()
【问题讨论】:
-
"我可以从下表中获取所有数据,但我只需要显示特定数据。"如何?您使用的是 SQL 查询吗? LINQ?
-
你总是可以使用returnedDataSet.Where(c => c.roleId == 1);返回roleId = 1的行,其中returnedDataSet是您检索到的“表中的所有数据”。
-
@StriplingWarrior - 使用 Linq。
-
@user3606394:您能否提供代码 sn-p 来展示您如何首先获取该表的数据?这使人们更容易为您提供代码示例来展示如何做您想做的事情。
-
如果您的视图模型是
IEnumerable<project.Models.Scale>类型,那么为什么您的服务方法只返回IEnumerable类型?该服务应该返回与您的视图使用的相同的泛型类型。
标签: c# asp.net-mvc razor