假设ASP.NET页面上有一个TextBox
<asp:TextBox id="DateTextBox" runat="server" />
在代码隐藏中设置了一些值。
如何通过HttpContext或其他任何方式从另一类C#代码文件中访问该值?
答案 0 :(得分: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
来维护回发后的变量。或者只要在引用此页面时直接使用上面的属性。
答案 1 :(得分:1)
您可以在控件中创建一个public property
,返回对文本框的引用。
然后,您可以使用此属性来引用文本框。
OR
您可以存储到session
,然后在整个应用程序中访问它。
答案 2 :(得分:1)
将其存储在HttpContext Session
http://www.codeproject.com/Articles/32545/Exploring-Session-in-ASP-Net
//Storing UserName in Session
Session["DateTextBox"] = DateTextBox.Text;
现在,让我们看看我们如何从会话中检索值:
//Check weather session variable null or not
if (Session["DateTextBox"] != null)
{
// use it...
}
答案 3 :(得分:0)
您可以在回发期间将值放在会话中。然后从另一个类的Session中访问它。所以在你的表单加载事件中写下这个:
Session["MyValue"] = DateTextBox.Text
然后在另一个类中写下这个:
var val = HttpContext.Current.Session["MyValue"];