Asp.net利用JQuery AJAX实现无刷新评论思路与代码

 更新时间:2012年12月30日 13:01:51   作者:  
Asp.net利用JQuery AJAX实现无刷新评论,此功能是每一个从事asp.net开发者的朋友都希望实现的,本文利用闲暇时间整理了一些,有需要的朋友可以参考下
首先在数据库中就建三个字段的表用来存储用户名和评论信息,Id只是为了设置唯一标示,所以设置成整型自增字段就行了。

再建一个HTML页面,只需简单的拉几个html控件出来摆着就行,注意在页面顶部有个<table>标签用来占位输出评论内容。
Html页面代码就这样简单就行了:
复制代码 代码如下:

<body><table id="room">
</table>
<div>
用户名:<input id="Text1" type="text" /><br />
信息:<textarea id="TextArea1" cols="20" name="S1" rows="5"></textarea><br />
<input id="Button1" type="button" value="提交" /></div>
</body>

然后再页面刚加载的时候,需要从数据库中显示出已有的评论,所以建个后台一般处理程序,命名为:bodyload.ashx。这个后台处理程序就是读取数据库中的所有评论信息,加载到显示页面,当然我这里只是简单的利用|标记来区别每个用户的评论,用@标记来区分用户名和信息,所以不是很严谨。数据操作使用的是强类型的DataSet
获取所有评论信息后台处理代码如下:
复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using _20100921Web.DataSetMsgTableAdapters;
using System.Text;
namespace _20100921Web
{
/// <summary>
/// bodyload 的摘要说明
/// </summary>
public class bodyload : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
T_MsgTableAdapter adapter = new T_MsgTableAdapter();
StringBuilder sb = new StringBuilder();
DataSetMsg.T_MsgDataTable table = adapter.GetData();
foreach (var v in table)
{
sb.Append(v.Username);
sb.Append("@");
sb.Append(v.Message);
sb.Append("|");
}
String result = sb.ToString();
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}

前台调用JQuery代码在页面加载时进行读取评论,这里就用到了JQuery中的AJAX了,其实也非常简单,就只是调用JQuery中的$.post()方法就可以实现了,该方法实质还是调用了$.ajax()的方法。
前台JQuery代码如下
复制代码 代码如下:

$.post("bodyload.ashx", function (data, state) {
if (state == "success") {
var msgArr = data.split("|");
for (var i = 0; i < msgArr.length; i++) {
if (msgArr[i].length == 0) {
return;
}
var msg = msgArr[i].split("@");
var res = "<tr><td>" + msg[0] + "说:</td><td>" + msg[1] + "</td></tr>";
$("#room").append(res);
}
}
});

然后来处理每一次用户输入后的插入数据及在页面无刷新更新显示评论内容,需要另外添加一个后台处理一般程序,命名为:update.ashx,用来在后台插入数据到数据库中。
后台处理代码如下
复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using _20100921Web.DataSetMsgTableAdapters;
namespace _20100921Web
{
/// <summary>
/// update 的摘要说明
/// </summary>
public class update : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
String username = context.Request["username"];
String msg = context.Request["msg"];
T_MsgTableAdapter adapter = new T_MsgTableAdapter();
adapter.Insert(username, msg);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}

最后就是在前台将数据传到后台插入,并将评论信息进行更新:
复制代码 代码如下:

$("#Button1").click(function () {
var username = $("#Text1").val();
var msg = $("#TextArea1").text();
$.post("update.ashx", { "username": username, "msg": msg }, function (data, states) {
if (states == "success") {
var res = "<tr><td>" + username + "说:</td><td>" + msg + "</td></tr>";
$("#room").append(res);
}
})
})

相关文章

  • ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    这篇文章主要介绍了ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法,很实用的技巧,需要的朋友可以参考下
    2014-07-07
  • Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现

    Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现

    这篇文章主要介绍了Asp.NET Core 限流控制(AspNetCoreRateLimit)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • .NET一行代码实现GC调优,让程序不再占用内存

    .NET一行代码实现GC调优,让程序不再占用内存

    这篇文章主要介绍了NET一行代码实现GC调优,让程序不再占用内存的相关资料,需要的朋友可以参考下
    2022-11-11
  • .net平台的rabbitmq使用封装demo详解

    .net平台的rabbitmq使用封装demo详解

    这篇文章主要针对rabbitmq学习后封装RabbitMQ.Client的一个分享,文章最后,我会把封装组件和demo奉上,对.net平台的rabbitmq使用封装相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • IdnentiyServer使用客户端凭据访问API的实例代码

    IdnentiyServer使用客户端凭据访问API的实例代码

    这篇文章主要介绍了IdnentiyServer-使用客户端凭据访问API的相关知识,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-10-10
  • C# 生转换网页为pdf

    C# 生转换网页为pdf

    最近工作中遇到一个将htm转换为pdf的任务,这是一个有很有用的功能块,然而很遗憾,网上没有现成可行(包括开源/免费、易用和可维护性的考虑)方案。既然没有现成的解决方案就自己着手解决吧。
    2009-07-07
  • IdentityServer4实现.Net Core API接口权限认证(快速入门)

    IdentityServer4实现.Net Core API接口权限认证(快速入门)

    这篇文章主要介绍了IdentityServer4实现.Net Core API接口权限认证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • ASP.NET 程序优化 小结

    ASP.NET 程序优化 小结

    asp.net开发中,需要注意程序的优化,下面的整理的一些,大家可以补充下。
    2009-08-08
  • .NET性能优化之为结构体数组使用StructLinq的问题解析

    .NET性能优化之为结构体数组使用StructLinq的问题解析

    这篇文章主要介绍了.NET性能优化为结构体数组使用StructLinq,本系列的主要目的是告诉大家在遇到性能问题时,有哪些方案可以去优化;并不是要求大家一开始就使用这些方案来提升性能,需要的朋友可以参考下
    2022-05-05
  • .NET Core实现企业微信获取部门成员

    .NET Core实现企业微信获取部门成员

    这篇文章介绍了.NET Core实现企业微信获取部门成员的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论