public IActionResult Index(string category, int?page)
        {
            //取出默认的分类定向
            string defaultcategoryindex = _configuration.GetSection("Forum_Category:Dedault").Value;

            if (string.IsNullOrEmpty(category))
            {
                category = defaultcategoryindex;
            }

            //取出配置文件的分类,使用字典存储
            Dictionary <string, string> categorys = _configuration.GetSection("Forum_Category:data").Get <Dictionary <string, string> >();
            var flag = categorys.ContainsKey(category);

            //如果category不是分类的一个,又不是默认cateogry,那么就返回404页面
            if (!categorys.ContainsKey(category))
            {
                if (defaultcategoryindex != category)
                {
                    return(View("Error404"));
                }
            }


            var forumItemViewModel = new forumItemViewModel();
            var forums             = new List <forumViewModel>();

            int page_forum_count = int.Parse(_configuration.GetSection("page_Setup:page_forum_count").Value);

            //如果category是默认的话,返回全部帖子的分页版
            if (defaultcategoryindex == category)
            {
                forums = _forumserver.GetForumsItem(page, page_forum_count, out forumItemViewModel);
            }
            else
            {
                forums = _forumserver.GetCategoryItemForums(int.Parse(category), page, page_forum_count, out forumItemViewModel);
            }

            forumItemViewModel.forumViewModels = forums;
            //将分类索引赋值给viewmodel类
            forumItemViewModel.categoryindex = category;

            forumItemViewModel.CategoryList = categorys;

            ViewBag.ReturnUrl = WebUtility.UrlEncode(Request.Path.Value);

            return(View(forumItemViewModel));
        }
        public List <forumViewModel> GetCategoryItemForums(int categoryid, int?pageIndex, int number, out forumItemViewModel itemViewModel)
        {
            int index;

            if (pageIndex == null)
            {
                index = 1;
            }
            else
            {
                index = pageIndex.Value;
            }

            //编写获取所有帖子(特定属性)和帖子作者(特定属性)的Linq to SQL
            //PS:这里没有在Table后面使用Include("User"),原因可以查看有道云笔记中的问题总结
            var table = _forumRepository.Table.Where(f => f.CategoryId == categoryid).Select((f) => new forumViewModel()
            {
                forum_ID                   = f.ID,
                forum_Title                = f.Title,
                forum_Content              = f.Content,
                forum_CreateTime           = f.Create_Time,
                forum_author_Name          = f.User.Nickname,
                forum_author_Id            = f.User.ID,
                Reading_volume             = f.Reading_volume,
                forum_author_HeaderAddress = f.User.HeadAddress
            });
            //不使用Count属性,因为Count会触发查询,使用Count方法不会
            int pagecount = table.Count();

            //赋值当前页数和总页数
            itemViewModel = new forumItemViewModel()
            {
                pageCount   = (int)Math.Ceiling((double)pagecount / number),
                CurrentPage = index
            };
            //定义要跳多少个数据
            var skipnumber = (index - 1) * number;

            return(table.Skip(skipnumber).Take(number).ToList());
        }