Asp.net利用JQuery AJAX實(shí)現(xiàn)無刷新評(píng)論思路與代碼

再建一個(gè)HTML頁面,只需簡單的拉幾個(gè)html控件出來擺著就行,注意在頁面頂部有個(gè)<table>標(biāo)簽用來占位輸出評(píng)論內(nèi)容。
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>
然后再頁面剛加載的時(shí)候,需要從數(shù)據(jù)庫中顯示出已有的評(píng)論,所以建個(gè)后臺(tái)一般處理程序,命名為:bodyload.ashx。這個(gè)后臺(tái)處理程序就是讀取數(shù)據(jù)庫中的所有評(píng)論信息,加載到顯示頁面,當(dāng)然我這里只是簡單的利用|標(biāo)記來區(qū)別每個(gè)用戶的評(píng)論,用@標(biāo)記來區(qū)分用戶名和信息,所以不是很嚴(yán)謹(jǐn)。數(shù)據(jù)操作使用的是強(qiáng)類型的DataSet
獲取所有評(píng)論信息后臺(tái)處理代碼如下:
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;
}
}
}
}
前臺(tái)調(diào)用JQuery代碼在頁面加載時(shí)進(jìn)行讀取評(píng)論,這里就用到了JQuery中的AJAX了,其實(shí)也非常簡單,就只是調(diào)用JQuery中的$.post()方法就可以實(shí)現(xiàn)了,該方法實(shí)質(zhì)還是調(diào)用了$.ajax()的方法。
前臺(tái)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);
}
}
});
然后來處理每一次用戶輸入后的插入數(shù)據(jù)及在頁面無刷新更新顯示評(píng)論內(nèi)容,需要另外添加一個(gè)后臺(tái)處理一般程序,命名為:update.ashx,用來在后臺(tái)插入數(shù)據(jù)到數(shù)據(jù)庫中。
后臺(tái)處理代碼如下:
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;
}
}
}
}
最后就是在前臺(tái)將數(shù)據(jù)傳到后臺(tái)插入,并將評(píng)論信息進(jìn)行更新:
$("#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);
}
})
})
- 基于jquery實(shí)現(xiàn)ajax無刷新評(píng)論
- C#使用jQuery實(shí)現(xiàn)無刷新評(píng)論提交的方法
- jquery 新浪網(wǎng)易的評(píng)論塊制作
- jquery實(shí)現(xiàn)仿新浪微博評(píng)論滾動(dòng)效果
- JQuery實(shí)現(xiàn)動(dòng)態(tài)添加刪除評(píng)論的方法
- PHP結(jié)合jQuery實(shí)現(xiàn)的評(píng)論頂、踩功能
- jQuery 實(shí)現(xiàn)評(píng)論等級(jí)好評(píng)差評(píng)特效
- jQuery實(shí)現(xiàn)頁面評(píng)論欄中訪客信息自動(dòng)填寫功能的方法
- 利用jQuery實(shí)現(xiàn)WordPress中@的ID懸浮顯示評(píng)論內(nèi)容
- jQuery實(shí)現(xiàn)的簡單無刷新評(píng)論功能示例
相關(guān)文章
ASP.NET讓FileUpload控件支持瀏覽自動(dòng)上傳功能的解決方法
這篇文章主要介紹了ASP.NET讓FileUpload控件支持瀏覽自動(dòng)上傳功能的解決方法,很實(shí)用的技巧,需要的朋友可以參考下2014-07-07Asp.NET Core 限流控制(AspNetCoreRateLimit)的實(shí)現(xiàn)
這篇文章主要介紹了Asp.NET Core 限流控制(AspNetCoreRateLimit)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03.NET一行代碼實(shí)現(xiàn)GC調(diào)優(yōu),讓程序不再占用內(nèi)存
這篇文章主要介紹了NET一行代碼實(shí)現(xiàn)GC調(diào)優(yōu),讓程序不再占用內(nèi)存的相關(guān)資料,需要的朋友可以參考下2022-11-11.net平臺(tái)的rabbitmq使用封裝demo詳解
這篇文章主要針對(duì)rabbitmq學(xué)習(xí)后封裝RabbitMQ.Client的一個(gè)分享,文章最后,我會(huì)把封裝組件和demo奉上,對(duì).net平臺(tái)的rabbitmq使用封裝相關(guān)知識(shí)感興趣的朋友一起看看吧2021-09-09IdnentiyServer使用客戶端憑據(jù)訪問API的實(shí)例代碼
這篇文章主要介紹了IdnentiyServer-使用客戶端憑據(jù)訪問API的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-10-10IdentityServer4實(shí)現(xiàn).Net Core API接口權(quán)限認(rèn)證(快速入門)
這篇文章主要介紹了IdentityServer4實(shí)現(xiàn).Net Core API接口權(quán)限認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03.NET性能優(yōu)化之為結(jié)構(gòu)體數(shù)組使用StructLinq的問題解析
這篇文章主要介紹了.NET性能優(yōu)化為結(jié)構(gòu)體數(shù)組使用StructLinq,本系列的主要目的是告訴大家在遇到性能問題時(shí),有哪些方案可以去優(yōu)化;并不是要求大家一開始就使用這些方案來提升性能,需要的朋友可以參考下2022-05-05.NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員
這篇文章介紹了.NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06