0

リストを他のクラス→メソッドに返したい

私は1つのクラスにメソッドを持っています

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;
    }

そして、リストを他のクラス -> メソッドに戻し、それを 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();
        }

最初の方法では、すべてが正常に機能していることがわかりましたが、2 番目の方法では、リストを正しく取得する方法がわかりませんでした。助けてください

4

3 に答える 3

4

GetAdsStatsは静的であるため、次のインスタンスを作成する必要はありませんGetAdStatsService:

List<ApiClient.GetAdStatsService.StatsList> items = GetAdStatsService.GetAdsStats("ticket string argument", start, end, Ids);
于 2013-06-19T13:44:19.333 に答える
0

GetAdStatsそれがオブジェクトの関数であると仮定するとGetAdStatsService、次のように呼び出すことでメソッドからアイテムを取得できます。

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

于 2013-06-19T13:48:08.233 に答える
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)
于 2013-06-19T13:44:46.657 に答える