Q:

behavior of html control in ASP.NET

Let's say I have a html input box:
 <form id="form1" runat="server">
    <div>    
        <input id="Text1" type="text"/>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
    </div>
</form>

If I type something like "My Subjects" into the input, and click the button, the text in the input box will disappear, here is something I don't quite understand:
This is a post request, since "My Subjects" will be submitted to the server, so when the server render the html, it should add the text to the input textbox and then send the html document back to the browser, is my understanding incorrect?

A:

ASP.NET WebForms only adds the "postback magic" to HTML elements if they have the runat="server" attribute applied, otherwise they're treated as static plain text.
Add runat="server" and it will work:
<input id="Text1" type="text" runat="server" />

