C# 在Razor中显示符合条件的模型字段

C# 在Razor中显示符合条件的模型字段,c#,html,asp.net-mvc,razor,C#,Html,Asp.net Mvc,Razor,当图元中的其他字段与条件匹配时,显示模型值的最佳方式是什么?例如,以下是一个模型: public class PricesModel { public int PriceID { get; set; } public DateTime PriceDate { get; set; } public int ZipCode { get; set; } } 该类型模型的列表包含在视图的ViewModel中: public class PricesViewModel {

当图元中的其他字段与条件匹配时,显示模型值的最佳方式是什么?例如,以下是一个模型:

public class PricesModel
{
    public int PriceID { get; set; }
    public DateTime PriceDate { get; set; }
    public int ZipCode { get; set; }
}
该类型模型的列表包含在视图的ViewModel中:

public class PricesViewModel
{
    public List<PricesModel> Prices { get; set; }
    //Additional data
}
提前谢谢

这真是一个c#问题。我建议你把这个逻辑放到别的地方,但这是事实

@Model.Prices.FirstOrDefault( p => p.ZipCode == 12345 && p.PriceDate.Date == new DateTime(2015, 12, 1 ) )?.PriceId

您应该在控制器中执行逻辑(这就是ModelViewController(MVC)的全部内容)

在控制器中,返回带有过滤价格的PricesModel


您可以在控制器中以所需的方式筛选列表。

为什么不在操作方法中仅加载与视图模型匹配的数据?。此外,您还需要遍历Prices集合以获取每个房产的价值。谢谢大家-我会将其标记为正确,因为它从技术上回答了这个问题,但我将重新设计ViewModel。
@Model.PricesModel.PriceID.Where(i => Model.PricesModel[i].ZipCode == 12345).ToString()
@Model.Prices.FirstOrDefault( p => p.ZipCode == 12345 && p.PriceDate.Date == new DateTime(2015, 12, 1 ) )?.PriceId