我需要一个变量,它可以在我的代码中的任何函数中使用,但对所有用户都不同。
所以我写道:
public class classedelcappero
{
private string frasehiragana = String.Empty;
public string ohiragana
{
get
{
return frasehiragana;
}
set
{
frasehiragana = value;
}
}
}然后我把这个放到我的函数中:
protected void Page_Load(object sender, EventArgs e)
{
classedelcappero chepalle = new classedelcappero();
string frasehiragana = chepalle.ohiragana;
}它起作用了。但是如果我从另一个函数访问它,比如
protected void ButtonRiprova_Click(object sender, EventArgs e)值为空...这样可以吗?
该怎么办呢?使用会话变量?
发布于 2009-06-25 07:20:58
你可能想看看这一系列的博客文章:
发布于 2009-06-25 07:14:33
这是你可以做到的一种方法,
创建一个从System.Web.UI.Page派生的类,并向该类添加一个公共属性,如下所示。
public class MyPage : System.Web.UI.Page
{
public string Frasehiragana
{
get
{
try{
return HttpContext.Current.Application.Contents["_Frasehiragana"] as string;
}
catch
{
return null;
}
}
set
{
HttpContext.Current.Application.Add("_Frasehiragana", value);
}
}
}然后从MyPage类派生所有asp.net页面,而不是从System.Web.UI.Page派生,执行此操作后,asp.net页面背后的类代码可能如下所示。
public partial class _Default : MyPage
.
.
.现在,您可以在所有页面中使用它,如下所示。
this.Frasehiragana;谢谢,
发布于 2009-06-25 07:08:59
对于您想要绑定到特定用户的变量,是的,使用会话变量。
在您的示例中,您正在创建一个具有立即丢失的属性的对象。您需要将其存储在某个位置,并重用它以访问ButtonRiprova_Click方法中的值。
https://stackoverflow.com/questions/1042517
复制相似问题