Your problem with this example is that even though your changing the text within the textbox, when the page posts back it's calling the page load first and then your displays sub causing the text in the textbox to be re-set to test.
Here is a link that will show you the page life cycle. This will show you the order of the events:
http://msdn2.microsoft.com/en-us/library/ms178472.aspx
Any way to solve your problem you can add this to your page load. I personally use this code in basically ever page load sub because there is stuff that I want to happen when the page is visited for the first time but not on posts backs.
This code will only fire when the page is first loaded. When you click the button and cause a post back this code will not be hit and thus when you write the value of the textbox youll get the new value that was entered.
If Not Page.IsPostBack Then
emp1.Text = "Test"
End If
Hope that helps.