设计一个跟贴网页,评论被输入到一个多行文本框中,单击“发评论”按钮后,将显示在前面3个文本框的内容。c#代码
时间: 2024-12-02 15:28:07 浏览: 3
一个java正则表达式工具类.txt
3星 · 编辑精心推荐
设计一个简单的贴纸网页涉及到前端HTML和CSS展示界面,后端C#处理用户提交的数据。这里提供一个基本的C# ASP.NET MVC 示例代码,假设你有一个模型`Comment`用于存储评论数据:
```csharp
// Comment.cs (实体类)
public class Comment
{
public int Id { get; set; }
public string Content { get; set; }
}
// CommentsController.cs (控制器)
using System.Web.Mvc;
[Authorize] // 如果需要用户登录
public class CommentsController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
// 发布评论的POST方法
[HttpPost]
public ActionResult PostComment(Comment comment)
{
if (ModelState.IsValid)
{
db.Comments.Add(comment);
db.SaveChanges();
return PartialView("_Comments", GetRecentThree()); // 返回最近三条评论
}
return View(comment); // 如果验证失败,返回编辑视图
}
private IEnumerable<Comment> GetRecentThree()
{
var threeMostRecent = db.Comments.OrderByDescending(c => c.Id).Take(3);
return threeMostRecent;
}
}
// _Comments.cshtml (视图 - 部分视图,只显示前三个评论)
@model IEnumerable<Comment>
@if (Model.Any())
{
<ul>
@foreach (var comment in Model)
{
<li>@comment.Content</li>
}
</ul>
}
else
{
<p>暂无评论。</p>
}
```
在这个例子中,前端需要HTML模板来构建用户界面:
```html
<!-- comments.html.cshtml -->
@model IEnumerable<YourProjectName.Models.Comment>
@using (Html.BeginForm("PostComment", "Comments", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div>
<textarea id="content" asp-for="Content" rows="4" cols="50"></textarea>
@Html.ValidationMessageFor(model => model.Content)
</div>
<button type="submit">发评论</button>
}
@if (@Model.Any())
{
@Html.Partial("_Comments")
}
```
这只是一个基本示例,实际项目中可能还需要考虑错误处理、验证、前端框架如jQuery和Bootstrap等。请注意替换`YourProjectName.Models`为您的实际命名空间。
阅读全文