How do you get a custom id to render using HtmlHelper in MVC | Using [preview 4](http://www.codeplex.com/aspnet) of [ASP.NET MVC](http://asp.net/mvc) 
Code like:



```
<%= Html.CheckBox( "myCheckBox", "Click Here", "True", false ) %>

```

only outputs:



```
<input type="checkbox"  value="True"  name="myCheckBox"  />

```

There is a `name` there for the form post back but no `id` for javascript or labels :-(


I was hoping that changing it to:



```
Html.CheckBox( "myCheckBox", "Click Here", 
               "True", false, new { id="myCheckBox" } )

```

would work - but instead I get an exception:



```
System.ArgumentException: An item with the same key has already been added.

```

As if there was already an id somewhere in a collection somewhere - I'm stumped!


The full exception for anyone interested follows (hey - wouldn't it be nice to attach files in here):



```
System.ArgumentException: An item with the same key has already been added. 
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Web.Routing.RouteValueDictionary.Add(String key, Object value)
   at System.Web.Mvc.TagBuilder2.CreateInputTag(HtmlInputType inputType, String name, RouteValueDictionary attributes)
   at System.Web.Mvc.CheckBoxBuilder.CheckBox(String htmlName, RouteValueDictionary htmlAttributes)
   at System.Web.Mvc.CheckBoxBuilder.CheckBox(String htmlName, String text, String value, Boolean isChecked, RouteValueDictionary htmlAttributes)
   at System.Web.Mvc.CheckBoxExtensions.CheckBox(HtmlHelper helper, String htmlName, String text, String value, Boolean isChecked, Object htmlAttributes)
   at ASP.views_account_termsandconditions_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\dev\myProject\Views\Account\Edit.ascx:line 108
```