I'm trying to set focus on a text box which is generated in the following way:
<%=Html.TextBoxFor(model => model.Email, new { style = "width:190px;Border:0px", maxsize = 190 })%>
I tried to use javascript which didn't help much :
   <script type="text/javascript">
       var txtBox = document.getElementById("Email");
       if (txtBox != null) txtBox.focus();
    </script>
How do I set focus to a text box Html.TextBoxFor in mvc 2 ?
Where are you writing this javascript? You need to make sure that the DOM is loaded:
window.onload = function() {
    var txtBox = document.getElementById("Email"); 
    if (txtBox != null) { 
        txtBox.focus();
    }
};
Also HTML helpers might generate a different ID depending on the context: for example if you are calling the TextBoxFor inside an editor template. 
Having said this it is not the solution I would recommend you. To solve all those problems I usually apply a css class to the textbox:
<%=Html.TextBoxFor(
    model => model.Email, 
    new { @class = "email", maxsize = "190" }) %>
where email class is defined like this:
.email {
    width: 190px;
    border: 0;
}
and then use a popular javascript framework to set the focus when the DOM is ready:
$(function() {
    $('input.email').focus();
});
                        you can use autofocus in HTML5 .
<%=Html.TextBoxFor(model => model.Email, new { style = "width:190px;Border:0px", maxsize = 190 ,autofocus = "autofocus" })%>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With