Visual Studio 2017を使用してASP.NET Webサイトを構築しています(VBを使用しています)。Web設定ファイルにいくつかの接続文字列を設定しています異なるユーザータイプ(基本アクセス、管理アクセスなど)各接続タイプは、DB内の異なるスキーマと同様に異なる権限にもアクセスできます。私はログインの成功時に(ログインページ上で)生成され、サイトの他のページで使用されるセッションの内容変数を介してこれらの異なる接続を呼び出そうとしています。ASPで変数としてsession.contentsを使用する方法SQLDataSource Visual Studio 2017
これは、他のページのいずれかに使用ASP接続文字列の例です:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:DBSource1 %>" SelectCommand="Stored_Proc"
SelectCommandType="StoredProcedure"></asp:SqlDataSource>
ここで私はSqlDataSourceコントロールにおける変数として使用するために、セッションの内容を経由して呼び出したい部分です:
ConnectionString="<%$ ConnectionStrings:DBSource1 %>"
ここで私は、変数として使用したいのですが、セッションの内容コードです:
Session("SqlConstrName").ToString()
私はASPコードでテキストボックスにセッションの内容を置くことができていますし、それが
ConnectionStrings:DBSource1
上に示していますように、私はいくつかの研究を行って、私はのために<% =%を使用することができないことを知っている接続名を与えますサーバー側のコントロールで、<%#%、 "<%#%"、または他の組み合わせの種類を使用して変数を渡すと失敗しました。私はまた、名前の部分だけをバインドし、 "ConnectionStrings:"部分を除外しようとしましたが、まだ成功しませんでした。
私は簡単にVBコードで接続文字列を作成してオブジェクトにデータをバインドすることができますが、ASPX側でこれを行うようにしていますので、ドロップダウンやグリッド表示など。stay boundは、バックエンドで必要なVBコードの量を減らし、変更イベントをたくさん書く必要なしに、ページ上の他の項目間をリンクするよりダイナミックな表を持つことができます。どんな提案や考えも大変ありがとうございます。
PageLoadイベントのコードビハインドで、SqlDataSource1オブジェクトのConnectionStringプロパティを設定できる必要があります。 –