public async Task <ActionResult> IndexAsync(string TagName = "", int Page = -1, int year = -1, int session = -1, int animeStats = -1, int animetype = -1, int animeTypeAll = 0) { KEY key = new KEY { Key = CacheKey.Anime_All().ToCharArray() }; if (!_DBServices.GetDate(key, out List <Anime> ListAnime)) { ListAnime = await _DBServices.GetDateToListAsync <Anime>(db => db.Select(a => a)); _DBServices.SetCache(key, ListAnime); } key = new KEY { Key = CacheKey.Anime_AllTags().ToCharArray() }; if (!_DBServices.GetDate(key, out List <AnimeTag> ListTag)) { ListTag = await _DBServices.GetDateToListAsync <AnimeTag>(db => db.Include(a => a.Anime)); _DBServices.SetCache(key, ListTag); } AnimeStats stats = BangumiFilter.GetAnimeStats(animeStats); AnimeType type = BangumiFilter.GetAnimeType(animetype); bool IsAnimeTypeAll = BangumiFilter.GetAnimeTypeAll(animeTypeAll); BangumiFilter filter = new BangumiFilter() { Year = year, AnimeStats = stats, AnimeType = type, AnimeTypeAll = IsAnimeTypeAll, TypeName = TagName }; List <Anime> animes = filter.Filter(ListAnime, ListTag); PageHelper pageHelper = new PageHelper(20); return(View( viewName: "Bangumi", model: new Views.Bangumi.Model.Bangumi { AllPage = pageHelper.GetAllPage(), //处理后动画的全部页数 NowPage = pageHelper.GetNowPage(), //现在看到的页数 Animes = pageHelper.GetListPage(Page, animes), //处理后的动画集合 AnimeSeason = new List <int> { 1, 2, 3, 4 }, //动画的季度(总共就4个季度,而且是常量的) AnimeTags = filter.AnimeTagName, //动画的标签合集 AnimeYear = filter.AnimeYear //动画的年份合集 } )); }