ASP.NET으로 게시판을 개발하기 위한 소스 코드는 여러 가지 방법으로 구현될 수 있습니다. 아래에 간단한 ASP.NET MVC를 사용한 기본적인 게시판의 예제를 제시해 드리겠습니다. 이 예제는 게시물을 작성하고 표시하는 간단한 기능을 가지고 있습니다.
```csharp
// 모델 클래스
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime DateCreated { get; set; }
}
// 데이터베이스 컨텍스트 클래스
public class ForumDbContext : DbContext
{
public DbSet<Post> Posts { get; set; }
}
// 컨트롤러 클래스
public class ForumController : Controller
{
private ForumDbContext _dbContext;
public ForumController()
{
_dbContext = new ForumDbContext();
}
// 게시판 홈 페이지
public IActionResult Index()
{
var posts = _dbContext.Posts.ToList();
return View(posts);
}
// 새 게시물 작성 페이지
public IActionResult Create()
{
return View();
}
// 새 게시물 작성 처리
[HttpPost]
public IActionResult Create(Post post)
{
post.DateCreated = DateTime.Now;
_dbContext.Posts.Add(post);
_dbContext.SaveChanges();
return RedirectToAction("Index");
}
}
// Index.cshtml (게시판 홈 페이지의 뷰)
@model List<Post>
<h2>게시판</h2>
<a asp-action="Create">새 글 작성</a>
@foreach (var post in Model)
{
<div>
<h3>@post.Title</h3>
<p>@post.Content</p>
<p>@post.DateCreated.ToString("yyyy-MM-dd HH:mm:ss")</p>
</div>
}
// Create.cshtml (새 게시물 작성 페이지의 뷰)
@model Post
<h2>새 글 작성</h2>
<form asp-action="Create" method="post">
<div>
<label for="Title">제목:</label>
<input type="text" id="Title" name="Title" required />
</div>
<div>
<label for="Content">내용:</label>
<textarea id="Content" name="Content" required></textarea>
</div>
<button type="submit">작성 완료</button>
</form>
```
이 예제는 Entity Framework를 사용하여 데이터베이스와 상호 작용하며, ASP.NET MVC의 기본 구조를 따르고 있습니다. 게시물은 제목, 내용 및 작성 일시를 가지고 있으며, 사용자는 새 게시물을 작성하고 게시판 홈 페이지에서 모든 게시물을 볼 수 있습니다. 이는 ASP.NET MVC를 사용한 간단한 게시판의 예시이며, 실제 프로젝트에는 더 많은 기능과 보안 검사가 필요할 수 있습니다.