好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > JavaScript如何控制Session實現原理及代碼

JavaScript如何控制Session實現原理及代碼

熱門標簽:辦理一個400電話多少錢 蓄意標記地圖標注 廣西ai語音電銷機器人哪家好 如何用地圖標注各分公司 莆田防封電銷卡價格 察縣地圖標注 信貸電銷機器人有用嗎 接聽電話機器人哪有 電銷機器人適用范圍
看到這個題目,或許有人會提出疑問,JavaScript代表客戶端,而Session代表的是服務器(不知道這樣說大家是否能夠理解)。

先說一下需求,我在做一個權限管理的時候,需要在點擊某個模塊時,Session中相應的改變模塊代號,而實現這個操作的是一個a標簽,當然我不知道 一個linkbutton是否可以同時將跳轉頁面和修改Session做了,個人感覺應該是可以的,具體能不能,如果有人做了Demo可以留言說明。

a標簽,實現頁面的跳轉,他的onclick事件,執行的也是本頁面中的js方法,現在就回到了題目所描述的問題——寫一個JavaScript方法,使其修改Session。

其實這個例子不難,但是對我個人的意義卻非同尋常,這個例子解除了我一大部分對AJAX的恐懼。

首先,是寫一個一般處理程序(也就是服務端代碼)

需要說明的是,如果要修改Session,需要額外引入命名空間,和實現一個接口(只需實現,別的什么也不用做)
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;

namespace TGB.CJX
{
/// summary>
/// 修改Session
/// /summary>
public class ModifySession : IHttpHandler,IRequiresSessionState
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Session["modelID"]=context.Request.QueryString["session"].ToString();
//context.Session["modelID"] = "1";
//context.Response.Write(context.Session["modelID"]);

}

public bool IsReusable
{
get
{
return false;
}
}
}
}

有沒有發現上面實現的功能很簡單呢?

下面,是客戶端代碼

復制代碼 代碼如下:

var xmlhttp;
var session;
function submit(obj) {
//session = obj.id.substr(1, 1);
session = obj.id.replace("model","");
//IE7,IE8,FF,MOZILLA,SAFARI
if (window.XMLHttpRequest) {
//alert("IE7,IE8,FF,MOZILLA,SAFARI");
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMinmeType) {
xmlhttp.overrideMinmeType("text/xml");
}
} else if (window.ActiveXObject) {
//alert("IE5,IE6");
var activeName = ["MSXML2.XMLHTTP", "Miscrosoft.XMLHTTP"];

for (var i = 0; i activeName.length; i++) {
try {
xmlhttp = new ActiveXObject(activeName[i]);
break;
} catch (e) {
return;
}
}
}

if (xmlhttp == undefined || xmlhttp == null) {
alert("當前瀏覽器不支持創建XMLHTTPREQUEST對象,請更換瀏覽器");
return;
}

xmlhttp.onreadystatechange = callback;

xmlhttp.open("GET", "ModifySession.ashx?session=" + session, true);
xmlhttp.send(null);
}

function callback() {
//判斷和服務器的交互是否完成,還要判斷服務器端是否返回了數據
if (xmlhttp.readyState == 4) {
//表示和服務器端的交互完成
if (xmlhttp.status == 200) {
//alert("正確返回了數據");
return;
}
}
}

在回調函數中,我只寫了一個測試正常返回數據的語句,后來注釋掉了。

在為a標簽綁定事件時,我最初用的是拼接字符串的方法,就是從數據庫中查到模塊ID和模塊名稱,然后通過下面的一條語句進行語句拼接:

復制代碼 代碼如下:

StringBuilder sbModel = new StringBuilder();
//將可以訪問的模塊進行菜單拼接
for (int i = 0; i dtModel.Rows.Count; i++)
{
sbModel.Append("li>a id='model" + dtModel.Rows[0]["mdlID"].ToString() + "' href='SpaceWeb.aspx' target='_parent' runat='server' onclick='submit(this)'>" + dtModel.Rows[i]["mdlName"].ToString() + "/a>/li>");
}

可是這樣寫的很容易出錯,雖然在復制進來之前,我是寫過測試語句,然后再將變量寫到該寫位置的,但是這樣寫出來的語句是很難進行調試的。

在和別人交流的過程中,說道了Repeater控件,恍然大悟,我重復的這個過程,不就是Repeater控件干的事么?控件替我們干了,干嘛還要自己寫這么容易出錯的代碼呢?

復制代碼 代碼如下:

asp:Repeater runat="server" id="rptModel">
ItemTemplate>
li>a id='model'+'%#Eval("mdlID")%>' href="SpaceWeb.aspx" target="_parent" runat="server" onclick="submit(this)">%#Eval("mdlName" %>/a>/li>
/ItemTemplate>
/asp:Repeater>

是不是這樣寫,感覺會清晰好多呢,因為我之前用的拼接字符串,并且實現了,用Repeater只是一個思路,在id拼接那不知道會不會又問題,如果有問題,歡迎斧正。

至此,我的第一篇有關AJAX的文章就寫完了,關于對AJAX的理解只是一個開始,這個里面沒有涉及到數據交互,所以對于某些知識的解釋還是有些蒼白的,隨著學習的深入,關于AJAX的使用,不會僅僅停留在updatepanel和timer這些控件上的。對于某些不太難的實例,自己做一下還是比較好的。

關于這個例子,你可以問用一個LinkButton其實就可以實現,干嘛弄這么麻煩,但是我想說,我一開始也沒有想到一個LinkButton就可以解決,是自己把問題復雜化了,這個里面涉及到一個頁面跳轉,其實完全可以用LinkButton解決,但是學習嘛就是一個過程,用自己犯的一個小迷糊促進了對AJAX的理解,何嘗不是一件快事~~

對于AJAX的理解,還在一步步的進行,如果有什么錯誤,還望大家積極評論點評
您可能感興趣的文章:
  • spring-session簡介及實現原理源碼分析
  • 詳解SpringBoot中Session超時原理說明
  • Nodejs 和Session 原理及實戰技巧小結
  • PHP中怎樣保持SESSION不過期 原理及方案介紹
  • 解析php中session的實現原理以及大網站應用應注意的問題
  • asp.net中session的原理及應用詳解
  • 深入解析Session工作原理及運行流程

標簽:延邊 儋州 阿拉善盟 平涼 銅陵 鷹潭 張掖 益陽

巨人網絡通訊聲明:本文標題《JavaScript如何控制Session實現原理及代碼》,本文關鍵詞  JavaScript,如何,控制,Session,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JavaScript如何控制Session實現原理及代碼》相關的同類信息!
  • 本頁收集關于JavaScript如何控制Session實現原理及代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产人成精品香港三级在| 碎蛋娇娃调教视频vk| 6∧嗯~啊~轻一点????麻豆| 范冰冰《苹果》被删片段| 国产精品久久久久无码AV色戒| 欧美在线观看网站| 把美女尿口扒开让男人捅在线观看 | 欧美mv日韩mv最火的一句歌词 黑白| 酒井法子AV片在线观看| 欧美一级免费| 免费看一级一级人妻片| 免一费无码国产AV精品| 国产电影aaaa拗片在线播放| 扒开女人下面使劲桶屁股动漫| 3p久久| 欧美 日韩 国产 GV| 第一次扣女朋友下边的疼痛| 高清性色生活片欧美| 美痴女~美人上司北岛玲| 女生啊~你tm别?了破解黑女| 成人猫咪最新地域网名是什么啥| 日韩电影精品| 小雪张开双腿给老赵上视频| 被窝电影亚洲午夜久久| 受脐橙攻做到起不来弱攻| 在线看片一区| 曰本女人视频69xxx| brazzers1080高清720| 男同在线观看未删减| 啊灬啊灬啊灬快灬深用力用力| 女人的大逼| (无码视频)在线观看| 久亚洲国产成人精品无码区江苏瘾 | 四川一级一级**毛片视频| 国产精品99久久AV色婷婷综合| 美女裸体秘?无遮挡免费视频| 女生差差| 99在线精品国产不卡在线观看| 91se在线| 91久久久久精品一区二区三区 | 我成了反派的早死初恋[末世]|