views:

152

answers:

2

In Html 5, there is an new attribute on textbox call autofocus.

The problem is it is a boolean value (there or not there)

It should look something like :

<input name="a" value="" autofocus>

I try :

<%= Html.TextBox( "a", null, new { autofocus } ) %>

But, it's give me an error because I'm not setting a value to autofocus...

I know I can do it manually, but can I do it with Html.TextBox ?

+2  A: 

Try <%= Html.TextBox( "a", null, new { autofocus = "" } ) %>

According to the HTML5 spec on boolean attributes:

If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.

So either <input name="a" value="" autofocus> or <input name="a" value="" autofocus=""> should be valid.

Bradley Mountford
+1  A: 

As of XHTML, the standard way to enable such a boolean attribute would be:

<input name="a" value="" autofocus="autofocus" />

therefore, assuming that is still valid in HTML5, you could use the following code:

<%=Html.TextBox( "a", null, new { autofocus: "autofocus" } ) %>
Lck