日期:2014-05-17  浏览次数:20377 次

全局变量不能在不同函数间共享?
如下,在一个searchpro.cs里声明了一个全局变量userid:
public partial class searchpro : System.Web.UI.Page
{
    public string userid="";
    protected void Page_Load(object sender, EventArgs e)
    {
    }



然后下面有2个按钮函数protected void SearchBtn_Click(object sender, EventArgs e)
和  public void HiddenBtn_Click(object sender, EventArgs e)

为何它们不能共用这个全局变量userid啊?
就是如果第一个函数给userid赋值为“123”,第二个函数调用userid得到的却不是这个值(当然第一个函数总是比第二个函数先执行的)

请问有没有什么办法解决这个问题?(如果没办法就只能用cookie或者session了哭)求指教,谢谢!

------解决方案--------------------
设为  static
------解决方案--------------------
asp.net页面属性这样定义:
public string userid
{
    get{ return (string)ViewState["uid"]; }
    set{ ViewState["uid"]=value; }
}

不要抄,要搞懂。