ASP.NET ページに TextBox があるとします。
<asp:TextBox id="DateTextBox" runat="server" />
コードビハインドに値が設定されています。
HttpContext またはその他の方法を介して C# コード ファイルの別のクラスからその値にアクセスする方法は?
ASP.NET ページに TextBox があるとします。
<asp:TextBox id="DateTextBox" runat="server" />
コードビハインドに値が設定されています。
HttpContext またはその他の方法を介して C# コード ファイルの別のクラスからその値にアクセスする方法は?
HttpContext
静的メソッドからでも、ページ内のプロパティにアクセスできます。
あなたのページで:
public string DateTextBoxText
{
get{ return this.DateTextBox.Text; }
set{ this.DateTextBox.Text = value; }
}
他の場所(別のdllでも):
public class Data
{
public static string GetData()
{
TypeOfYourPage page = HttpContext.Current.Handler as TypeOfYourPage;
if (page != null)
{
return page.DateTextBoxText;
//btw, what a strange method!
}
return null;
}
}
これは、このページのライフサイクル内から呼び出された場合にのみ機能することに注意してください。
通常は、ポストバック全体で変数を使用ViewState
または維持することをお勧めします。Session
または、このページへの参照がある場合は、上記のプロパティを直接使用してください。
http://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Netに保存しますHttpContext Session
//Storing UserName in Session
Session["DateTextBox"] = DateTextBox.Text;
それでは、セッションから値を取得する方法を見てみましょう。
//Check weather session variable null or not
if (Session["DateTextBox"] != null)
{
// use it...
}
public property
テキストボックスへの参照を返すコントロール内にを作成できます。
その後、このプロパティを使用してテキスト ボックスを参照できます。
また
に保存してsession
から、アプリケーション全体でアクセスできます。
ポストバック中にセッションに値を配置できます。次に、他のクラスのセッションからアクセスします。したがって、フォームのロードイベントに次のように記述します。
Session["MyValue"] = DateTextBox.Text
そして、他のクラスでこれを書きます:
var val = HttpContext.Current.Session["MyValue"];