Ciao a tutti, se io volessi mettere un pulsante che mi setta il valore della variabile "x" ed un'altro che mi mostra il valore di questa variabile, come posso fare?

Ho provato così:

<script runat="server" language="c#">

public String x;

public void setta_var(Object sender, EventArgs e)
{ x = "ciao";
}
public void mostra_var(Object sender, EventArgs e)
{ Label.Text = x;
}

</script>

<form runat="server">
<asp:Button ID="setta" runat="server" OnClick="setta_var" Text="Setta var" />
<asp:Button ID="mostra" runat="server" OnClick="mostra_var" Text="Mostra var" />
<asp:Label ID="Label" runat="server" />

</form>

Così facendo però la variabile viene inpostata ma perde il valore quando premo il pulsante mostra.
Come faccio a fare in modo che il valore della variabile rimanga?...e se volessi passare dei parametri al metodo setta_var come faccio?

grazie e ciao