欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

從ASP遷移至ASP --最初的考慮(二)_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:如何實現(xiàn)Asp與Asp.Net共享Session
在.net中,Session的存儲機制已經(jīng)與Asp的存儲機制不一樣,雖然可以在同一個IIS下同時運行asp與aspx,但是它們之間不能傳遞Session。之前大批系統(tǒng)應用到了asp,在升級過程中,如果完全拋棄asp來

運用和在一個單獨模塊中創(chuàng)建一個普遍性的連接相同的構(gòu)想,我們創(chuàng)建了一個Pagelet。Pagelet使開發(fā)人員可以創(chuàng)建偽控件,偽控件和對象一樣可以用來顯示屬性,方法以及事件。我們的方案是:創(chuàng)建一個顯示ConnectToDB方法的Pagelet,該方法返回一個ADOConnection對象(與ADO的語法稍有不同)。我們用下面的代碼創(chuàng)建Pagelet,將它存為connect.aspc(擴展名表明它是一個Pagelet)

   < %@ Import Namespace="System.Data" %>

   < %@ Import Namespace="System.Data.ADO" %>

   < script language="VB" runat="server">

   Public Function ConnectToDB() As ADOConnection

   ConnectToDB = New ADOConnection("DSN=evilleDSN")

   End Function

   < /script>

你會注意到我們導入了兩個Namespaces,即System.Data和System.Data.ADO。為了使用ADO Managed Provider這些Namespaces是必須的。許多人就此問了我許多問題,因為目前多數(shù)示例都使用基于Microsoft SQL Server 2000數(shù)據(jù)庫的SQL Managed Provider。對于非SQL Server 數(shù)據(jù)庫,ASP 可以使用ADO Managed Provider,這和目前你在程序中使用ADO的方式大致相同。導入Namespaces和在VB程序中創(chuàng)建參考(Reference)有異曲同工之妙。

Pagelet的運用使我可以維護當前的站點計劃,一旦在模塊中創(chuàng)建了連接,我們就可在任何需要的地方重用模塊。這意味著我們需要用Pagelet的一個實例來替代Include文件指令,然后當我們需要數(shù)據(jù)庫連接時調(diào)用ConnectToDB方法。在需要使用Pagelet的頁面中,我們首先必須使用ASP 指令將之與該頁面注冊(register)。在指令中,我們定義TagPrefix,TagName,以及Source(src)。與ASP中的include文件類似,在我們放置Pagelet的地方要用到TagPrefix和TagName。

   < %@ Register TagPrefix="seven" TagName="Connect"

   src=http://www.alixixi.com/Dev/Web/ASP/asp_1/2007/"_includes/connect.aspc" %>

放置我們剛注冊的Pagelet的方法與ASP 服務器控件類似:

   < [TagPrefix]:[TagName] id=myPagelet runat=server />

比如:

   < seven:Connect id=Connect runat=server />

在ADO 中,記錄集(Recordset)的概念被DataSets和DataViews的組合所取代。一會兒我們將討論這兩個概念。首先讓我們看看在default.asp頁面遷移至default.aspx(ASP 頁面的后綴)后代碼都有了哪些改變。先看default.asp:

   < !-- #include file="_includes/connect.inc" -->

   < %

   Dim cnEville_DB, rsUpcoming, strSqlUpcoming

   Set rsUpcoming = Server.CreateObject("ADODB.Recordset")

   strSqlUpcoming = " SELECT TOP 2 " & _

   "Classes.Title, Sessions.Session_ID, " & _

   "Sessions.Special, Classes.Description " & _

   "FROM Classes INNER JOIN Sessions ON " & _

   "Classes.Class_ID = Sessions.ClassID " & _

   "WHERE (((Sessions.Date)>Date())) " & _

   "ORDER BY Sessions.Date"

   rsUpcoming.Open strSqlUpcoming,cnEville_DB

   %>

   在ASP 中成了default.aspx:

   < %@ Import Namespace="System.Data" %>

   < %@ Import Namespace="System.Data.ADO" %>

   < %@ Register TagPrefix="seven" TagName="Connect" &_

   src=http://www.alixixi.com/Dev/Web/ASP/asp_1/2007/"_includes/connect.aspc" %>

   < script language="vb" runat=server>

   Sub Page_Load(Source As Object, E As EventArgs)

   Dim dscUpcoming As ADODataSetCommand

   Dim dsUpcoming As New DataSet

   Dim strSQL As String

   strSQL = "SELECT TOP 2 Classes.Title," & _

   "Sessions.Session_ID, Classes.Description " & _

   "FROM Classes INNER JOIN Sessions ON " & _

   "Classes.Class_ID = Sessions.ClassID " & _

   "WHERE (((Sessions.Date)>Date())) " & _

   "ORDER BY Sessions.Date"

   dscUpcoming = New ADODataSetCommand(strSQL, Connect.ConnectToDB())

   dscUpcoming.FillDataSet(dsUpcoming, "Upcoming")

   End Sub

   < /script>

數(shù)據(jù)訪問的核心,ANSI-SQL語句在轉(zhuǎn)換后沒有什么

分享:ASP.NET2.0的控件狀態(tài)和視圖狀態(tài)探討
基本概念 控件狀態(tài)-為了讓控件正常工作,有時需要存儲控件狀態(tài)數(shù)據(jù)。例如,如果編寫了一個自定義控件,其中具有顯示不同信息的不同選項卡,為使該控件如預期一樣工作,控件需要知道在往返過

來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
相關(guān)ASP教程