3

ASP.NET ページに TextBox があるとします。

<asp:TextBox id="DateTextBox" runat="server" />

コードビハインドに値が設定されています。

HttpContext またはその他の方法を介して C# コード ファイルの別のクラスからその値にアクセスする方法は?

4

4 に答える 4

4

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または、このページへの参照がある場合は、上記のプロパティを直接使用してください。

于 2013-03-16T14:11:07.840 に答える
1

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...
}
于 2013-03-16T14:03:58.933 に答える
1

public propertyテキストボックスへの参照を返すコントロール内にを作成できます。

その後、このプロパティを使用してテキスト ボックスを参照できます。

また

に保存してsessionから、アプリケーション全体でアクセスできます。

于 2013-03-16T14:01:05.927 に答える
0

ポストバック中にセッションに値を配置できます。次に、他のクラスのセッションからアクセスします。したがって、フォームのロードイベントに次のように記述します。

Session["MyValue"] = DateTextBox.Text

そして、他のクラスでこれを書きます:

var val = HttpContext.Current.Session["MyValue"];
于 2013-03-16T14:08:08.900 に答える