remove the line Button1.Click from your pageload.
Button1.Click += new EventHandler(Button1_Click);
if your .aspx button already looks something like this:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
this means that when you click the button, your code will go through Page_Load, which means that it will execute your Eventhandler for Button1_Click, and after that it will go further to your actual events by clicking Button1_Click again, so basically why you get 2 text fields.
source share