国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.net利用JQuery AJAX實現無刷新評論思路與代碼

2024-07-10 13:23:02
字體:
來源:轉載
供稿:網友
首先在數據庫中就建三個字段的表用來存儲用戶名和評論信息,Id只是為了設置唯一標示,所以設置成整型自增字段就行了。

Asp.net利用JQuery AJAX實現無刷新評論思路與代碼


再建一個HTML頁面,只需簡單的拉幾個html控件出來擺著就行,注意在頁面頂部有個<table>標簽用來占位輸出評論內容。
Html頁面代碼就這樣簡單就行了:

復制代碼 代碼如下:


<body><table>
</table>
<div>
用戶名:<input type="text" /><br />
信息:<textarea cols="20" rows="5"></textarea><br />
<input 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);
}
})
})

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大丰市| 聂拉木县| 镇远县| 青龙| 新密市| 旌德县| 綦江县| 方正县| 大化| 丽水市| 墨竹工卡县| 平遥县| 高邑县| 绥德县| 临武县| 普兰店市| 顺平县| 新郑市| 和平县| 呼图壁县| 津市市| 泸西县| 萝北县| 巴中市| 雅安市| 全州县| 衡东县| 当雄县| 出国| 青阳县| 柏乡县| 祁连县| 大理市| 德兴市| 兴安县| 淮安市| 顺昌县| 南皮县| 克什克腾旗| 西乡县| 鹤峰县|