src/NetCoreBBS/Controllers/HomeController.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using NetCoreBBS.Infrastructure;
using Microsoft.AspNetCore.Identity;
using System.Threading.Tasks;
using NetCoreBBS.ViewModels;
using Microsoft.AspNetCore.Mvc.Rendering;
using NetCoreBBS.Entities;
using NetCoreBBS.Interfaces;
namespace NetCoreBBS.Controllers
{
public class HomeController : Controller
{
private ITopicRepository _topic;
private IRepository<TopicNode> _node;
public UserManager<User> UserManager { get; }
public HomeController(ITopicRepository topic, IRepository<TopicNode> node, UserManager<User> userManager)
{
_topic = topic;
_node = node;
UserManager = userManager;
}
public IActionResult Index([FromServices]IUserServices userServices)
{
var pagesize = 20;
var pageindex = 1;
Page<Topic> result = null ;
if (!string.IsNullOrEmpty(Request.Query["page"]))
pageindex = Convert.ToInt32(Request.Query["page"]);
if (!string.IsNullOrEmpty(Request.Query["s"]))
result = _topic.PageList(r => r.Title.Contains(Request.Query["s"]), pagesize, pageindex);
else
result = _topic.PageList(pagesize, pageindex);
ViewBag.Topics = result.List.Select(r=>new TopicViewModel
{
Id = r.Id,
NodeId = r.Node.Id,
NodeName = r.Node.Name,
UserName = r.User.UserName,
Avatar=r.User.Avatar,
Title = r.Title,
Top = r.Top,
Type=r.Type,
ReplyCount = r.ReplyCount,
LastReplyTime = r.LastReplyTime,
CreateOn = r.CreateOn
}).ToList();
ViewBag.PageIndex = pageindex;
ViewBag.PageCount = result.GetPageCount();
ViewBag.User = userServices.User.Result;
var nodes = _node.List().ToList();
ViewBag.Nodes = nodes;
ViewBag.NodeListItem = nodes.Where(r => r.ParentId != 0).Select(r => new SelectListItem { Value = r.Id.ToString(), Text = r.Name });
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
后面还有 23 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
