如何将列表从一个类返回到其他类

时间:2013-06-19 13:40:43

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

我想将返回列表发送到其他class->方法

我在一个班级中有方法

public static List<StatsList> GetAdsStats(string Ticket, DateTime start, DateTime end, int CamId)
    {
        var client = new CampaignStatsServiceClient();
        var id = new CampaignIdFilter();
        id.CampaignId = CamId;
        var statsdata = new GetAdStatsData();
        var kazkas = new Campaign();
        kazkas = client.GetAdStats(Ticket, new GetAdStatsData
        {
            IdFilter = id,
            StartDate = start,
            EndDate = end
        });

        int reklamos = kazkas.Ads.Length;
        long[] statistikaClikai = new long[reklamos];
        long[] statistikaImpresions = new long[reklamos];

                                    List<StatsList> items = new List<StatsList>();
        for (int i = 0; i < reklamos; i++)
        {
             long AllClicks = 0;
             long AllImpresions = 0;

            int dienos = kazkas.Ads[i].Days.Length;
            for (int lop = 0; lop < dienos; lop++)
            {

                AllClicks = AllClicks + kazkas.Ads[i].Days[lop].Stats.Clicks;
                AllImpresions = AllImpresions + kazkas.Ads[i].Days[lop].Stats.Impressions;
            }
            items.Add(new StatsList() { ID =kazkas.Ads[i].Id, clicks = AllClicks , impresions = AllImpresions });

        }
        return items;
    }

我希望将返回列表发送到其他类 - &gt;方法并将其显示到web(列表)

public ActionResult GetStats()
        {
            int Ids = 141611;
            DateTime start = new DateTime(2013, 05, 29);
            DateTime end = new DateTime(2013, 06, 17);
            GetAdStatsService GetAdStatsService = new GetAdStatsService();        
            return View();
        }

在第一种方法中,我发现一切正常,但第二种,我不知道如何正确获取列表,请帮助

3 个答案:

答案 0 :(得分:4)

由于GetAdsStats是静态的 - 无需创建GetAdStatsService的实例:

List<ApiClient.GetAdStatsService.StatsList> items = GetAdStatsService.GetAdsStats("ticket string argument", start, end, Ids);

答案 1 :(得分:0)

假设顶部的代码属于GetAdStatsService,则必须执行

return View(
 GetAdStatsService.GetAdsStats(
    "" /*ticket is missed, not sure what to pass*/,
    start,
    end,
    Ids) 
);

并删除此行,因为没有必要考虑GetAdsStats是静态的

GetAdStatsService GetAdStatsService = new GetAdStatsService(); 

如何在视图上使用模型的示例

@model IList<HereGoesTheNamespace.StatsList>
...
//Use your model here at will
@Html.DisplayFor(modelItem => item.clicks)
@Html.DisplayFor(modelItem => item.impresions)

答案 2 :(得分:0)

假设GetAdStatsGetAdStatsService对象的函数,您可以通过调用以下I假设来获取方法中的项:

GetAdStatsService.GetAdStats(string Ticket, DateTime start, DateTime end, int CamId)