对于XmlHttp的介绍见http://www.cnblogs.com/helimin19/archive/2004/12/03/72519.aspx

本文主要实现了在donet中,前台界面与后台程序完成分离,以达到互不影响的效果,从而降低了前台后台之前的偶合度。(当然这种效果也只是相对的),就果我下面举的例子来说吧,会员注册和修改会员资料是在一个页面上显示。注册可以达到完成分离(后台程序可以完全不知道前台界面是什么样子的,也不需要知道前面界面窗体中包括哪些内容,即不需要知道前台将要传些什么值给我),但修改会员数据,就需要前台传个用户名来过,从而显示指定的用户信息。如果你采用其Cookies等用户级的变量来传的话,当然就可以达到完成分离的效果了。

XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
1。xmlHttp.js---用於處於客戶端的XMLHTTP數據

XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)//將所有的客戶端表單數據生成XML文件
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
function GetAllFormData()
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT){
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
var strXML = "<Client>\r\n<FormData>\r\n";
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
for(var i=0;i<=document.forms(0).item.length;i++)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    {
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        strXML 
+= "<" + document.forms(0).item(i).name + ">";
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        strXML 
+= document.forms(0).item(i).value;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        strXML 
+= "</" + document.forms(0).item(i).name + ">\r\n";
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    }
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    strXML 
+= "</FormData>\r\n</Client>"
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
return strXML;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)}
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
///向服務器發送XML文檔
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
function Send(Str,URL) 
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT){
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
var Http = new ActiveXObject("Microsoft.XMLHTTP")
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    Http.open(
"POST",URL,false)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    Http.send(Str)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
return Http.responseText;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)}
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
///獲得XML中指定的節點的值
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
function GetXMLNodeValue(strXML,nodeName)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT){
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
var Dom = new ActiveXObject("Microsoft.XMLDOM")
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    Dom.async
=false 
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    Dom.loadXML(strXML)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
if(Dom.parseError.errorCode != 0
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    {
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
delete(Dom)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
return(false)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    }
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
else
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    {
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
var node = Dom.documentElement.selectSingleNode("//"+nodeName);
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
if(node)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)            nodeValue 
= node.text;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
delete(Dom)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
return(nodeValue);
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    }
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)}

2. tesaspx.htm---客戶端文件(即注冊修改會員資料頁面)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
<HTML>
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)    
<HEAD>
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<title>NewUser</title>
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<meta content="C#" name="CODE_LANGUAGE">
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<meta content="JavaScript" name="vs_defaultClientScript">
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<script language="javascript" src="xmlHttp.js"></script>
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<script language=javascript>
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)        
<!--
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)            ///本頁的測試用例
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)            function Test()
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)            {
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                var tmp 
= Send(GetAllFormData(),"./test.aspx");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                
document.Form1.UserName.value  = GetXMLNodeValue(tmp,"UserName");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                
document.Form1.PassWord.value  = GetXMLNodeValue(tmp,"PassWord");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                
document.Form1.EMail.value  = GetXMLNodeValue(tmp,"EMail");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                
document.Form1.Question.value  = GetXMLNodeValue(tmp,"Question");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)                
document.Form1.Answer.value  = GetXMLNodeValue(tmp,"Answer");
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)            
}

3.xmlHttp.cs---重載Page類(操作客戶端以XmlHttp發過的請求)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)using System;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Collections;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.ComponentModel;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Data;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Drawing;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.SessionState;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI.WebControls;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI.HtmlControls;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Xml;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.IO;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Collections.Specialized;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
namespace Model.Code

4.test.aspx---對應的tesaspx.htm的請求文件
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)using System;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Collections;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.ComponentModel;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Data;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Drawing;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.SessionState;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI.WebControls;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Web.UI.HtmlControls;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Xml;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.IO;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
using System.Collections.Specialized;
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
XmlHttp在DoNet中的完全应用---前/后台完成分离篇(ZT)
namespace Model.VIP

相关文章:

  • 2021-12-31
  • 2021-05-11
  • 2021-07-25
  • 2022-12-23
  • 2021-06-01
  • 2022-12-23
  • 2021-12-13
  • 2022-12-23
猜你喜欢
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-26
相关资源
相似解决方案