views:

25

answers:

2

I'm trying to output the following html using an html helper in asp.net mvc 2:

<input type="text" id="Name" name="Name" value="" autofocus />

I'm using this code now:

<%= Html.TextBoxFor(x => x.Name) %>

and I've tried

// results in <input ... autofocus="" />
<%= Html.TextBoxFor(x => x.Email, new { autofocus="" }) %>

// does not compile
<%= Html.TextBoxFor(x => x.Email, new { autofocus=null }) %>

Is there any way to accomplish what I'm looking for using an html helper?

+1  A: 

I think you'll have to write your own helper for this. The default helpers output key/value pairs. Under the hood it uses a TagBuilder to construct the tag. For tag attributes it uses the format {0}="{1}" to format the key/value pairs for the attributes and their values.

tvanfosson
I gave it some time, it appears you're right and you were first, so I'll accept. I'm still sad tho. ;)
bmavity
+1  A: 

Html helpers generate XHTML. What you are trying to achieve is:

  1. Not XHTML (attributes need to have values, even empty)
  2. Not W3C standard (no autofocus attribute for the input tag)

If you want to generate such markup you will need to do it manually or write your own helper.

Darin Dimitrov
It's valid html 5
bmavity