推奨:ASPおよびASP.NET共有セッションを実装する方法.NETでは、セッションのストレージメカニズムはASPのストレージメカニズムとは異なります。同じIISの下で同時にASPとASPXを実行できますが、セッションを渡すことはできません。以前は、ASPに多数のシステムが使用されていました。アップグレードプロセス中、ASPが完全に放棄された場合
別のモジュールでユニバーサル接続を作成するのと同じアイデアを使用して、ページェレットを作成します。 Pageletは、開発者がプロパティ、方法、イベント、およびオブジェクトを表示するために使用できる擬似制御を作成できるようにします。私たちの解決策は、AdoConnectionオブジェクト(Adoの構文とはわずかに異なる)を返すConnectToDBメソッドを表示するPageletを作成することです。次のコードを使用してパゲレットを作成し、connect.aspcとして保存します(拡張機能はそれがパジェレットであることを示します)<%@ Import NameSpace = System.Data%>
<%@ namespace = system.data.ado%>をインポートします
<スクリプト言語= vb runat = server>
public function connectTodb()as adoconnection
connectTodb = new Adoconnection(dsn = evilledsn)
エンド関数
< /script>
System.dataとsystem.data.adoの2つの名前空間をインポートしたことに気付くでしょう。これらの名前空間は、ADOマネージドプロバイダーを使用するために必要です。多くの人が私にこれについて多くの質問をしてくれました。なぜなら、ほとんどの例は現在、Microsoft SQL Server 2000データベースに基づいてSQLマネージドプロバイダーを使用しているからです。非SQL Serverデータベースの場合、ASPはADOマネージドプロバイダーを使用できます。これは、プログラムでADOを現在使用している方法とほぼ同じです。名前空間のインポートは、VBプログラムで参照の作成に似ています。
Pageletを使用すると、現在のサイトプランを維持できます。モジュールに接続が作成されると、必要な場所にモジュールを再利用できます。つまり、インクルードファイルディレクティブをPageletのインスタンスに置き換え、データベース接続が必要な場合はConnectToDBメソッドを呼び出す必要があります。パジェレットを必要とするページでは、ASP指令を使用して最初にページに登録する必要があります。指令では、TagPrefix、Tagname、およびSource(SRC)を定義します。 aspのincludeファイルと同様に、tagprefixとtagnameを使用して、パジェレットを配置する必要があります。
<%@レジスタtagprefix = 7つのtagname = connect
src = http://www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc%>
登録したばかりのページェレットを配置する方法は、ASPサーバーコントロールに似ています。
<[tagprefix]:[tagname] id = mypagelet runat = server />
例えば:
<7:connect id = connect runat = server />
ADOでは、レコードセットの概念は、データセットとデータビューの組み合わせに置き換えられます。これらの2つの概念については、後で説明します。まず、default.aspページがdefault.aspx(ASPページの接尾辞)に移動した後にどのような変更が発生したかを見てみましょう。 default.aspを最初に見てみましょう:
<! - #include file = _includes/connect.inc->
<%
dim cneville_db、rsup Comping、strsqlup Comping
rsupcoming = server.createObject(adodb.Recordset)を設定します
strsqlupcoming =トップ2を選択&_
classes.title、sessions.session_id、&_
sessions.special、classes.description&_
クラスからインナーに参加するセッション&_
classes.class_id = sessions.classid&_
ここで(((sessions.date)> date())&_
sessions.dateで注文します
rsupcoming.open strsqlup Comping、cneville_db
%>
ASPではdefault.aspxになります:
<%@ Import NameSpace = System.Data%>
<%@ namespace = system.data.ado%>をインポートします
<%@レジスタtagprefix = 7つのtagname = connect&_
src = http://www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc%>
<スクリプト言語= vb runat = server>
sub page_load(source as object、e as eventargs)
AdodatasetCommandとしてのDim dscup Comping
新しいデータセットとしてのDim Dsup Coming
文字列としてのdim strsql
strsql =トップ2クラスを選択します。title、&_
sessions.session_id、classes.description&_
クラスからインナーに参加するセッション&_
classes.class_id = sessions.classid&_
ここで(((sessions.date)> date())&_
sessions.dateで注文します
dscupcoming = new adodatasetcommand(strsql、connect.connecttodb()))
dscup Comping.filldataset(dsup Comping、今後)
End Sub
< /script>
データアクセスのコア、ANSI-SQLステートメントは変換後に何もありません
共有:ASP.NET 2.0のコントロールステータスとビューステータスに関するディスカッション基本概念制御ステータス - 制御が適切に機能するためには、制御ステータスデータが必要な場合があります。たとえば、コントロールが期待どおりに機能するために、異なる情報を示すさまざまなタブでカスタムコントロールを作成する場合、コントロールは往復していることを知る必要があります。