上一篇
🚀 场景化开头
"昨晚和几个游戏好友开黑到凌晨,大家聊得正嗨时,有人突然说:'要是有个专属我们的讨论区就好了!' 你灵光一闪——对啊!为啥不自己搭个贴吧?但转念一想:'ASP是啥?单页论坛难吗?'" 别慌!这篇保姆级教程手把手教你用ASP.NET Core快速搭建单页社区论坛,30分钟从菜鸟变站长!💻✨
工具包
依赖包
在NuGet管理器安装:
Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools
在Models
文件夹创建Post.cs
和Reply.cs
:
public class Post { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime CreatedAt { get; set; } = DateTime.Now; public List<Reply> Replies { get; set; } } public class Reply { public int Id { get; set; } public string Content { get; set; } public DateTime CreatedAt { get; set; } = DateTime.Now; public int PostId { get; set; } }
public class ForumContext : DbContext { public ForumContext(DbContextOptions<ForumContext> options) : base(options) { } public DbSet<Post> Posts { get; set; } public DbSet<Reply> Replies { get; set; } }
用Razor语法实现发帖+列表:
@page @model IndexModelh2>🔥 最新帖子</h2> <form method="post"> input asp-for="Post.Title" placeholder="标题" /> <textarea asp-for="Post.Content" placeholder="内容"></textarea> <button type="submit">🚀 发帖</button> </form> @foreach (var post in Model.Posts) { <div class="post"> <h3>@post.Title</h3> <p>@post.Content</p> <button onclick="showReplies(@post.Id)">💬 查看回复</button> <div id="replies-@post.Id" style="display:none"> @foreach (var reply in post.Replies) { <p>@reply.Content</p> } </div> </div> }
public class IndexModel : PageModel { private readonly ForumContext _context; public IndexModel(ForumContext context) => _context = context; [BindProperty] public Post Post { get; set; } public List<Post> Posts { get; set; } public void OnGet() => Posts = _context.Posts.Include(p => p.Replies).ToList(); public async Task<IActionResult> OnPostAsync() { _context.Posts.Add(Post); await _context.SaveChangesAsync(); return RedirectToPage(); } }
本地运行
dotnet run
访问 https://localhost:5001
查看效果!
进阶功能
现在你拥有了一个极简单页论坛!🎯 快邀请好友来水帖吧~
💡 小贴士:想更酷炫?试试用 Blazor 替代Razor Pages,体验客户端交互!
(信息来源:微软官方文档 2025-08 更新版)
本文由 业务大全 于2025-08-25发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/wenda/726259.html
发表评论