我有一个列表。根据查找列表更改值的最快方法
ViewBag.Meters = db.Query("SELECT * FROM Meters");
而一个Id
3
我如何得到ViewBag.Meters
,其中Id = 3
尽量简单,让我的视图代码整洁Meters.Name
。
(我的观点目前仅显示foriegn键(IDS),而不是它的实际名称)
我有一个列表。根据查找列表更改值的最快方法
ViewBag.Meters = db.Query("SELECT * FROM Meters");
而一个Id
3
我如何得到ViewBag.Meters
,其中Id = 3
尽量简单,让我的视图代码整洁Meters.Name
。
(我的观点目前仅显示foriegn键(IDS),而不是它的实际名称)
如果我想你在做什么,我会创建一个简单的utils的功能,如
public static string GetMeterNameById(int MeterId)
{
return db.FirstOrDefault<Meter>("WHERE Id = @0", MeterId).Name;
}
然后里面的观点只是放置一个使用在utils的类的命名空间,然后调用函数
Utils.GetMeterNameById(Model.Id)
我有一个enourmous实用工具类,需要在一个干净的方式返回数据时提供各种灵活性。希望这可以像我相信的那样高效。
没有更多的细节,我很难判断这是否适合您的应用程序,详细阐述更多,我很乐意提供帮助。
这是一个好主意。我没有意识到你可以在控制器中使用这种方法。我去了并创建了两个方法/模型,其中一个提供了id,另一个提供了名称。 – Doomsknight
是的,我通常创建许多不同的类,允许我通过实用程序功能即时与数据库进行交互。我发现它可以让将来的代码更容易处理,并且可以与正确的命名约定结合使用。 – jhartzell
((IEnumerable<Meter>)ViewBag.Meters).Where(meter => meter.Id == 3).First().Name
但我不会做,在视图中。该代码属于视图模型(你应该创建)
什么数据类型是'db'?你使用EF/LINQ吗?什么数据类型是'ViewBag.Meters'? – mellamokb
请发表您的看法。 – Maess
目前我的视图只是使用@ Html.DisplayForModel()。不知道它的设置viewbag.meters如何动态设置它的动态。数据库是'使用WebMatrix.Data;'''数据库'类型 – Doomsknight