繁体   English   中英

如何在ASP.net MVC的另一个视图中从一个视图显示摘要数据?

[英]How can I show summary data from one view in another view in ASP.net MVC?

我正在视图中的表格中列出所有用户。 我根据年龄对每个记录中的年龄单元进行了颜色编码。 红色从50到70,绿色从30到50,黄色从20到30。现在,我想在另一页上显示摘要,其中包含红色,绿色和黄色的总数。

问题是我不知道该怎么做,因为我认为viewdata,viewbag,tempdata和session数据不能用于此目的。 我也不确定如果用户直接单击主页上的摘要链接,则红色,绿色和黄色的值是什么。 我是否需要从视图到视图传输数据,还是需要创建摘要的操作方法。 请帮忙。 谢谢。

要获取摘要,您可以使用Linq在数据库中进行查询以获取不同的计数。

这是一个简单的示例:

定义了一个虚拟类来表示数据。

    // Class definition
    class Person
    {
        public int age { get; set; }

        public Person(int age){
            this.age = age;
        }
    }

创建一个代表数据收集的列表

    // A test 'dataset'
    var people = new List<Person>
    {
        new Person(25),
        new Person(45),
        new Person(55),
        new Person(65)
    };

查询您的数据收集

    // Do a query with Linq, I'll query the List<Person>

    // yellow = age 20 to 30
    var yellowCount = people.Count(p => p.age >= 20 && p.age < 30 );

    // green = age 30 to 50
    var greenCount = people.Count(p => p.age >= 30 && p.age < 50 );

    // red = age 50 to 70
    var redCount = people.Count(p => p.age >= 50 && p.age < 70 );

    // then use the data in the variables to show the count.
    Console.WriteLine("Yellow:" + yellowCount.ToString());
    Console.WriteLine("Green:" + greenCount.ToString());
    Console.WriteLine("Red:" + redCount.ToString());

如果要在同一页面上显示摘要,只需获取数据并将其传递到视图即可。

如果要在另一条路线中显示数据,则需要创建另一个操作方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM