I recently had to define a default Enter button on an ASP.NET page but could not use the Form field because it was inherited from a master page.  I eventually discovered that this can be done by defining the button in a panel as shown below.

<asp:Panel runat=”server” DefaultButton=”btnSearch”>
..
<asp:Button ID=”btnSearch” runat=”server” Text=”Search” />
..
</asp:Panel>

Use  txtSearch.Focus() to set focus on the default field (in this case txtSearch).