ASP.NET MVC 下拉详细视图包括 "ALL"

ASP.NET MVC dropdown-detail view include a "ALL"

我是 ASP.net MVC 的新手。

我正在修改的网站有一个名为"site"的下拉列表,用户可以更改网站,然后网站的销售行将相应显示。

Now my client wants the "site" drop-down list to include "All Sites", so when "All Sites" is selected, all sales across all sites would be shown.

有人可以指导我应该做什么吗? 我是否应该更改 table 映射以使每次销售始终指向一个名为 "All Sites" 的实际站点和虚拟站点?

谢谢 B

在我看来,没有正确的方法可以做到这一点。但对我来说它看起来像 "report"。用户实际上是在选择一个过滤器。

您不应该更改 table,您可以在 C# 上进行总结或创建视图

您可以创建一个带有可选参数的函数,这将帮助我们决定是否必须显示所有站点的销售额或仅显示 selected 站点的销售额。

函数看起来像这样:

public IEnumerable<Sale> GetSales(int? id)
    {
        if (id != null)
        {
            var salesBySite = getSalesBySite((int)id);
            return salesBySite;
        }
        else
        {
            var salesOfAllSites = getAllSales();
            return salesOfAllSites ;
        }

    }

在下拉列表中,所有选项的值都应作为各自站点的 ID,但选项 "AllSites" 不应有值或为空值。

当用户 select 从下拉列表中选择任何站点时,id 将被传递给函数 GetSales。如果用户 select 来自下拉菜单的 AllSites 那么没有 id 将传递给函数,函数将 return 所有网站的销售额。