TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱

ASP+ajax实现顶一下、踩一下同支持与反对的实现代码,asp怎么用ajax

2025-06-03
/
0 评论
/
8 阅读
/
正在检测是否收录...
06/03

  1. ASP.NET后端:用于处理用户点击“顶”或“踩”时的服务器端逻辑,如更新数据库中的计数器。
  2. jQuery/Ajax:前端用于无刷新地与服务器通信,提高用户体验。

数据库设计

假设我们有一个简单的表Posts,用于存储帖子的信息,并包括两个字段Id(帖子ID)和Likes(点赞数)、Dislikes(踩数)。

sql CREATE TABLE Posts ( Id INT PRIMARY KEY, Title NVARCHAR(255), Keywords NVARCHAR(255), Description NVARCHAR(500), Content TEXT, Likes INT, Dislikes INT );

后端ASP.NET代码(C#)

首先,创建一个简单的ASP.NET Web API接口来处理点赞和踩的请求。

```csharp
using System.Web.Http;
using System.Data.Entity;
using System.Web.Script.Services; // 用于Ajax支持
using System.Web.Script.Serialization; // 用于序列化返回数据到JSON

public class PostController : ApiController
{
private MyDbContext db = new MyDbContext(); // 假设已存在DbContext类来处理数据库操作

[HttpPost]
[Route("api/post/like/{id}")]
public HttpResponseMessage LikePost(int id)
{
    var post = db.Posts.Find(id);
    if (post != null) post.Likes++;  // 增加点赞数
    db.SaveChanges();  // 保存更改到数据库
    return new HttpResponseMessage(HttpStatusCode.OK);  // 返回成功响应(可以添加更多信息如新点赞数)
}

[HttpPost]
[Route("api/post/dislike/{id}")]
public HttpResponseMessage DislikePost(int id)
{
    var post = db.Posts.Find(id);
    if (post != null) post.Dislikes++;  // 增加踩数
    db.SaveChanges();  // 保存更改到数据库
    return new HttpResponseMessage(HttpStatusCode.OK);  // 返回成功响应(可以添加更多信息如新踩数)
}

}
```

前端HTML和jQuery/Ajax代码

  • HTML:定义按钮并设置Ajax请求的触发。 示例仅包括单个帖子和两个按钮。实际应用中,你可以在循环中为每个帖子添加这些元素。
  • jQuery/Ajax:在用户点击按钮时执行异步请求,更新页面上的计数器显示。
    ```html




    Vote Example

 湘ICP备2023005853号  RSS MAP