c#public string传入函数

时间:2013-02-10 20:54:54

标签: c# asp.net

我有下面的代码,我试图访问lnkSave_Click函数中的'text'字符串,但是lnkSave_Click函数似乎无法访问文本,它似乎总是空的。

private string _text = "";
    public string text
    {
        get { return _text; }
        set { _text = value; }
    }


protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
             text = "Hello World!";
            }
        }

protected void lnkSave_Click(object sender, EventArgs e)
        {
            if (text == "Hello World!")
            {
            ... do things..
            }
        }

1 个答案:

答案 0 :(得分:6)

当它为空时, 可访问。它总是空的原因是它是一个领域。 ASP.NET页面中的每个对象都在生命周期的末尾处理。因此,每次回发都会使用""进行初始化。

您可以使用ViewState来保存值:

public string text
{
    get { if(ViewState["text"]==null)ViewState["text"]=""; return (String)ViewState["text"]; }
    set { ViewState["text"] = value; }
}

Nine Options for Managing Persistent User State in Your ASP.NET Application