在查找列表中更改值的最快方法

时间:2011-11-22 15:50:00

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我有一个清单。

ViewBag.Meters = db.Query("SELECT * FROM Meters");

Id

3

如何从Meters.Name获取ViewBag.MetersId = 3

尽可能简单,以便我的视图代码整洁。

(我的视图目前仅显示foriegn键(ID),而不是其实际名称)

2 个答案:

答案 0 :(得分:1)

如果我想做你正在做的事情,我会创建一个简单的utils函数,例如

public static string GetMeterNameById(int MeterId)
{
    return db.FirstOrDefault<Meter>("WHERE Id = @0", MeterId).Name;
}

然后在视图中放置一个用于Utils类的命名空间然后调用函数

Utils.GetMeterNameById(Model.Id)

我有一个极好的Utility类,在需要以干净的方式返回数据时提供各种灵活性。希望这和我认为的一样有效。

如果没有更具体的细节,我很难判断这是否适用于您的应用程序,详细说明并且我很乐意提供帮助。

答案 1 :(得分:0)

((IEnumerable<Meter>)ViewBag.Meters).Where(meter => meter.Id == 3).First().Name

但我不会在视图中这样做。代码属于ViewModel(您应该创建)