熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

用Asp.net實現基於XML的留言簿

2013-11-13 09:52:33  來源: .NET編程 

  一.概要

  留言簿是網站的一個重要組成部分是訪問者發表意見的場所也是網站管理員了解網站基本情況的有力工具所以留言簿在現在的網站中扮演了重要的角色

  可是在以前開發一個留言簿並不是一件容易的事開發者的工作量往往會很多而現在隨著微軟推出相應的技術推陳出新特別是 Framework中的廣泛運用使得整構架具有十分優越的基礎在推出的同時也伴隨而來了一門新興的語言C#C#作為微戰略的重要部分具有特別優秀的性能所以本文的程序是用C#語言描述的同時整個程序又是基於XML的我用到了XML作為程序的數據庫主要是因為所以的服務器都是支持XML文件的

二.要求

Net SDK Beta及以後版本

) 支持的Web服務器

三.說明

本文的實例由兩部分組成

) guestpostaspx-將用戶信息添加到一個XML文件中

) viewguestbookaspx-先建立一個數據集對象建立後就很容易顯示其中的數據了我這裡用到了一個Repeater來顯示數據集中的數據還有讀者可試著根據自己的喜好來修改查看頁

四.代碼

) guestpostaspx

< %@ Page Language=C# EnableSessionState=False % >
< %@ Import Namespace=System % >
< %@ Import Namespace=SystemIO % >
< %@ Import Namespace=SystemData % >
< % 這些是本程序正常運用所必須的名字空間 % >

< html >
< head >
< title >歡迎來到我的留言簿< /title >
< script Language=C# runat=server >
///< summary >
/// 當提交(submit)按鈕按下後調要這個函數
///< /summary >
public void Submit_Click(Object sender EventArgs e)
{
//保存數據的XML文件的路徑
//如果你的路徑和下面的不同則請修改之
string dataFile = db/guestxml ;

//運用一個TryCatch塊完成信息添加功能
try{
//僅當頁面是有效的時候才處理它
if(PageIsValid){

errmessText= ;
//以讀的模式打開一個FileStream來訪問數據庫
FileStream fin;
fin= new FileStream(ServerMapPath(dataFile)FileModeOpen
FileAccessReadFileShareReadWrite);
//建立一個數據庫對象
DataSet guestData = new DataSet();
//僅從數據庫讀取XML Schema
guestDataReadXmlSchema(fin);
finClose();
//從數據集的Schema新建一個數據行
DataRow newRow = guestDataTables[]NewRow();
//用相應值填寫數據行
newRow[Name]=NameText;
newRow[Country]=CountryText;
newRow[Email]=EmailText;
newRow[Comments]=CommentsText;
newRow[DateTime]=DateTimeNowToString();
//填寫完畢將數據行添加到數據集
guestDataTables[]RowsAdd(newRow);
//為數據庫文件新建另一個寫模式的FileStream並保存文件
FileStream fout ;
fout = new FileStream(ServerMapPath(dataFile)FileModeOpen
FileAccessWriteFileShareReadWrite);

  guestDataWriteXml(fout XmlWriteModeWriteSchema);
foutClose();
//隱藏當前的面板
formPanelVisible=false;
//顯示帶有感謝信息的面板
thankPanelVisible=true;
}
}
catch (Exception edd)
{
//捕捉異常
errmessText=寫入XML文件出錯原因+eddToString() ;
}
}
< /script >
< LINK type=text/css rel=stylesheet >
< /head >

) viewguestbookaspx

< %@ Page Language=C# % >
< %@ Import Namespace=System % >
< %@ Import Namespace=SystemIO % >
< %@ Import Namespace=SystemData % >
< % 以上是所需的名字空間 % >

< html >
< head >
< title >歡迎來到我的留言簿< /title >
< script language=C# runat=server >
//頁面下載完畢後運行這個腳本
public void Page_Load(Object sender EventArgs e)
{
//包含所有數據的XML文件的路徑
//如果你的路徑和下面的不同則請修改
string datafile = db/guestxml ;

//運用一個TryCatch塊完成信息讀取功能
try
{
//建立一個數據集對象
DataSet guestData = new DataSet();
//為數據庫文件打開一個FileStream
FileStream fin ;
fin = new FileStream(ServerMapPath(datafile)FileModeOpen
FileAccessReadFileShareReadWrite) ;
//把數據庫中內容讀到數據集中
guestDataReadXml(fin);
finClose();
//將第一個表中的數據集付給Repeater
MyDataListDataSource = guestDataTables[]DefaultView;
MyDataListDataBind();
}
catch (Exception edd)
{
//捕捉異常
errmessText=不能從XML文件讀入數據原因+eddToString() ;
}
}
< /script >
< LINK type=text/css rel=stylesheet >
< /head >

五.總結

  這個程序完成了相信大家對實現原理以及技巧都有了大致的了解通過本文我主要是想向大家展示用XML處理一些數據庫問題時的優點服務器都支持XML文件而且處理過程相當簡潔明了當然用XML也有它的不足之處就是當數據庫很大時解析過程會花費相當長的時間因此還是要采用大型的數據庫系統的所以我只想通過此文起到拋磚引玉的作用


From:http://tw.wingwit.com/Article/program/net/201311/11826.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.