zmienna zainicjowana w klasie traci swoją poprzednią wartość podczas ładowania strony

Zadeklarowałem test zmiennej String z „hi”. za każdym razem, gdy klikam przycisk Button1, spodziewam się, że test zostanie dołączony z poprzednią wartością. Ale zauważyłem, że traci on swoją poprzednią wartość po kliknięciu przycisku i ponownym załadowaniu strony. To jest za każdym razem, gdy go klikam, ma swój tekst jako „hihi”. Oczekuję „hihihihi” przy następnym kliknięciu i tak dalej. Jaki jest problem z poniższym kodem?

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