.Net クラス ライブラリがあります。1 つのコード ビハインド ページから隠し変数を渡し、それを別のコード ビハインド ページで取得したいと考えています。フォーム タグと get/post メソッドを使用できるデザイン ページ (aspx ページ) がないことに注意してください。どうすればこれを行うことができますか?
注意: 非表示フィールドを使用して、あるページから別のページに値を渡したいと考えています。
.Net クラス ライブラリがあります。1 つのコード ビハインド ページから隠し変数を渡し、それを別のコード ビハインド ページで取得したいと考えています。フォーム タグと get/post メソッドを使用できるデザイン ページ (aspx ページ) がないことに注意してください。どうすればこれを行うことができますか?
注意: 非表示フィールドを使用して、あるページから別のページに値を渡したいと考えています。
次のように、セッションに値を保存できます。
Session["YourName"] = yourvalue;
あなたの背後にあるコードでこれを行います:
Session["MyValue"] = "theValueYouWantToPass";
あなたの他のページであなたはします:
string valueFromAnotherPage = Session["MyValue"].ToString();
変数を非表示にしておきたい場合は、セッションを使用してオブジェクトを格納できます。
例えば、
セッション値の設定
Session["HiddenValue"] = "something";
セッション値の取得
string something = (string)Session["HiddenValue"];
ただし、セッションは限られた時間のみであることに注意してください(これはIISおよびWeb構成を介して構成できます)。
セッション変数を使用できますか?それらは私の好みではありませんが、それはあなたのニーズを満たすでしょう。
Session["VariableName"] = something;
object somethingOnNextPage = Session["VariableName"];
親切、
ダン
SessionまたはHttpContext.Current.Itemsを使用できます。値が一時変数の場合は、現在のHttpContextがなくなるとすぐに消えますが、Sessionに格納されているアイテムは消えるので、sessionの代わりにHttpContext.Current.Itemを使用することをお勧めします。セッションが期限切れになるまでクリアされません。
Session["var"]=value;
var value=Session["var"];
HttpContext.Current.Items["var"]=value;
var value=HttpContext.Current.Items;
クロスページ ポストバックについてはどうですか (ASP.NET Web ページでのクロスページ ポスティング、http://msdn.microsoft.com/en-us/library/ms178139.aspxを参照)。実際に使用したことはありませんが、オプションになる可能性があります。それ以外の場合は、古い学校の Request.Form を介して非表示のフォーム要素にアクセスできます。もう 1 つのオプションは、この非表示の要素をマスター ページに配置することで、常にすべてのページに配置することです。次に、それをパブリック プロパティとして公開し、思いのままに取得/設定できます。