variável inicializada na classe perde seu valor anterior com o carregamento da página

Eu declarei um teste de variável String com "oi". toda vez que clico no Button1, espero que o teste seja anexado ao seu valor anterior. Mas notei que ele perde seu valor anterior quando o botão é clicado e a página é recarregada. Isso é toda vez que clico nele, tem seu texto como "hihi". Eu espero "hihihihi" no próximo clique e assim por diante. Qual é o problema aqui com o código abaixo?

public partial class _Default : System.Web.UI.Page
{

    String test = "hi";

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        test += test;
        Button1.Text = test;
    }
}

questionAnswers(8)

yourAnswerToTheQuestion