惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
N
News and Events Feed by Topic
T
Troy Hunt's Blog
PCI Perspectives
PCI Perspectives
W
WeLiveSecurity
N
News | PayPal Newsroom
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V2EX - 技术
V2EX - 技术
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
Cloudbric
Cloudbric
S
Secure Thoughts
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
Y
Y Combinator Blog
L
LangChain Blog
Recorded Future
Recorded Future
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
Attack and Defense Labs
Attack and Defense Labs
Blog — PlanetScale
Blog — PlanetScale
WordPress大学
WordPress大学
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
小众软件
小众软件
H
Hacker News: Front Page
The Hacker News
The Hacker News
T
Tailwind CSS Blog
The Register - Security
The Register - Security
Hacker News: Ask HN
Hacker News: Ask HN
P
Privacy & Cybersecurity Law Blog
P
Palo Alto Networks Blog
S
Securelist
腾讯CDC
雷峰网
雷峰网
G
Google Developers Blog
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
阮一峰的网络日志
阮一峰的网络日志
AI
AI

博客园 - 冷风.net

以OO的思想利用JS來實現五子棋 開放幾個原來寫的js代碼,供大家娛樂一下 使用JS寫的第一個游戲[俄羅斯方塊] 假如現在讓你去說服客戶使用asp.net2.0開發系統,你會怎麼說服呢? 對象化javascript日期控件 - 冷风.net - 博客园 工作排程 防止圖片在WEB頁面上下載 - 冷风.net - 博客园 今天從新整理的大小寫數據轉換 - 冷风.net - 博客园 常用的XPATH說明 系统用户权限与角色分析 学习设计模式之Composite 模式 改進Richer的WEB頁面進度條! 学习设计模式之Bridge模式 学习设计模式之生成器(Builder Pattern)模式 再谈Abstract Factory模式来实现数据库操作的类 Factory Method来实现数据库操作的类 不周表結構合併問題 今天下午困惑的問題,終於TMD搞出來了 利用線程實現錠時執行的運行模型
XmlHttp在DoNet中的完全应用---前/后台完成分离篇
冷风.net · 2005-03-26 · via 博客园 - 冷风.net

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

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


1。xmlHttp.js---用於處於客戶端的XMLHTTP數據

2. tesaspx.htm---客戶端文件(即注冊修改會員資料頁面)

3.xmlHttp.cs---重載Page類(操作客戶端以XmlHttp發過的請求)

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.IO;
using System.Collections.Specialized;

namespace Model.Code
{
    
/// <summary>
    
/// xmlHttp---對XmlHttp的操作(繼承自OverridePage類,表示其子類都是對XmlHttp發送過來的數據進行操作)
    
/// 冷風.net,2005/03/26
    
/// </summary>

    public class XmlHttp : OverridePage
    
{
        
public XmlHttp(){}

        
/// <summary>
        
/// 生成XmlDocument對象
        
/// 作者:冷風,net,2005/03/26
        
/// </summary>
        
/// <param name="stream">xml格式的內存塊</param>
        
/// <returns>XmlDocument對象</returns>

        protected System.Xml.XmlDocument CreateXmlDocument(System.IO.Stream stream)
        
{
            System.Xml.XmlDocument doc 
= new XmlDocument();
            
try
            
{
                doc.Load(stream);
            }

            
catch
            
{
                
byte[] buffer = new byte[stream.Length];
                stream.Read(buffer,
0,buffer.Length);
                
string strXML = System.Text.UnicodeEncoding.Default.GetString(buffer,0,buffer.Length);
                doc.LoadXml(strXML);
            }

            
return doc;
        }


        
/// <summary>
        
/// 獲得XmlNode中第一個指定的節點的文本值
        
/// 作者:冷風,net,2005/03/26
        
/// </summary>
        
/// <param name="node">XmlNode對象</param>
        
/// <param name="nodeName">要搜索的節點名稱</param>
        
/// <returns>節點的值</returns>

        protected string GetXMLNodeValue(XmlNode node,string nodeName)
        
{
            XmlNode subNode 
= node.SelectSingleNode("//"+nodeName);
            
return subNode.InnerText;
        }


        
/// <summary>
        
/// 將XmlNode對象轉化為NameValueCollection對象
        
/// 作者:冷風,net,2005/03/26
        
/// </summary>
        
/// <param name="node">XmlNode對象</param>
        
/// <returns>NameValueCollection對象</returns>

        protected NameValueCollection CreateNameValueCollectionFromXML(XmlNode node)
        
{
            NameValueCollection nvc 
= new NameValueCollection();
            
for(int i=0;i<node.ChildNodes.Count;i++)
            
{
                nvc.Add(node.ChildNodes[i].Name,node.ChildNodes[i].InnerText);
            }

            
return nvc;
        }


        
/// <summary>
        
///    為了不返回不必要的數據,必須重載Render方法
        
///    作者:冷風,net,2005/03/26
        
/// </summary>
        
/// <param name="writer">輸出參數</param>

        protected override void Render(HtmlTextWriter writer)
        
{
        }

    }

}

4.test.aspx---對應的tesaspx.htm的請求文件

個人感覺這麼做,可以方便前台人台與後台人員合作開發時,前台人台可以完全不懂donet就行了,這樣對於前台的如何更改,是否采用該頁都不會影響後台的程式。