Set Focus Controls - AutoPostBack = true


c# 

public void SetFocus(Page sPage)
{
    string[] sCtrl = null;
    string sCtrlId = null;
    Control sCtrlFound = default(Control);
    string sCtrlClientId = null;
    string sScript = null;
    sCtrl = sPage.Request.Form.GetValues("__EVENTTARGET");
    if ((sCtrl != null))
    {
        sCtrlId = sCtrl[0];
        sCtrlFound = sPage.FindControl(sCtrlId);
        if ((sCtrlFound != null))
        {
            sCtrlClientId = sCtrlFound.ClientID;
            sScript = "";
            sPage.ClientScript.RegisterStartupScript(typeof(string), "controlFocus", sScript);
        }
    }
}

Call this function on page load Example:
SetFocus(this);

vb.net

Public Sub SetFocus(ByRef sPage As Page)
    Dim sCtrl() As String
    Dim sCtrlId As String
    Dim sCtrlFound As Control
    Dim sCtrlClientId As String
    Dim sScript As String

    sCtrl = sPage.Request.Form.GetValues("__EVENTTARGET")
    If Not IsNothing(sCtrl) Then
        sCtrlId = sCtrl(0)
        sCtrlFound = sPage.FindControl(sCtrlId)
        If Not IsNothing(sCtrlFound) Then
            sCtrlClientId = sCtrlFound.ClientID
            sScript = ""
            sPage.RegisterStartupScript("controlFocus", sScript)
        End If
    End If
End Sub

Example:
Me.SetFocus(Page) 

This will set focus on last used dropdown list.