我需要帮助让我的剃须刀页面上的代码语法正确:

@foreach (var officerGroup in Model.Results
                                   .Where(i => i.InvestType in ("YO", "CRD", "PPI", "PSI")
                                   .GroupBy(x => x.ProbOfficer))

基本上,我希望在报告的此特定部分中按InvestType个值的特定子集进行筛选.我不希望包含InvestType的其他值.我不知道怎么做"in"式的陈述.

谢谢你能提供的任何帮助.

推荐答案

您可以使用@{ ... }.cshtml文件中声明变量:

@{
    var fullReportList = new List<string> { "CRD", "PPI", "PSI", "Supvsn Only", "TO" };
}

@foreach (var officerGroup in Model.Results
                                   .Where(i => fullReportList.Contains(i.InvestType))
                                   .GroupBy(x => x.ProbOfficer))
{

}

或者你可以把它加到你的PageModel中,就像这样:

public class DemoModel : PageModel
{
    public List<string> FullReportList => new() { "CRD", "PPI", "PSI", "Supvsn Only", "TO" };

    public void OnGet()
    {
        //...
    }
}

.cshtml名中:

@foreach (var officerGroup in Model.Results
                                   .Where(i => Model.FullReportList.Contains(i.InvestType))
                                   .GroupBy(x => x.ProbOfficer))
{

}

Asp.net相关问答推荐

在Docker Windows中,ASP.NET核心容器在自定义端口8080上运行,但ASP.NET容器在固定端口80上运行

授权错误错误 400:C# 上的 redirect_uri_mismatch

如何在没有 Select 按钮的情况下在 GridView 中实现全行 Select ?

在哪里可以记录 ASP.NET Core 应用程序的启动/停止/错误事件?

静态字段与会话变量

如何将配置转换应用于外部配置文件

我应该使用字节还是整数?

如何在 ASP.NET 中使用时区?

无法读取配置部分system.servicemodel,因为它缺少部分声明

用于链接字符串中的 url 的 C# 代码

你如何确定哪个验证器失败了?

在 Asp.net Rowcommand 事件中获取行索引

如何设置asp.net身份cookie过期时间

如何在 IIS 7.5 上使用 ASP.NET 表单身份验证保护静态文件?

以编程方式从后面的代码中关闭 aspx 页面

在生产中使用 LocalDb 是否正常?

ASP.NET MVC 和 httpRuntime executionTimeout

我可以在 .NET Framework 4.0 上运行 MVC 5 应用程序吗?

为在 ASP.NET Web API 中使用 User.Identity.Name 的方法编写单元测试

使用 ConfigurationManager.RefreshSection 重新加载配置而不重新启动应用程序