En utilisant preview 4 de ASP.NET MVC code comme:Comment obtenez-vous un code personnalisé pour rendre l'utilisation HtmlHelper dans MVC
<%= Html.CheckBox("myCheckBox", "Click Here", "True", false) %>
sorties uniquement:
<input type="checkbox" value="True" name="myCheckBox" />
Il y a là name
pour la forme post retour mais pas id
pour javascript ou étiquettes :-(
J'espérais que le changer en:
Html.CheckBox("myCheckBox", "Click Here",
"True", false, new { id="myCheckBox" })
fonctionnerait - mais j'obtenir une exception:
System.ArgumentException: An item with the same key has already been added.
Comme s'il y avait déjà un identifiant quelque part dans une collection quelque part - je suis perplexe!
L'exception complète pour toute personne intéressée suit (hey - serait-il pas agréable de joindre des fichiers ici):
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
où est-ce décrit dans la documentation? –
Je ne sais pas si c'est dans la documentation. Je ne pouvais pas le trouver. Je pense que je viens de le lire sur le blog de Phil Haacks. Aussi, je pense que le préfixe a été changé en @ à partir d'un trait de soulignement, alors essayez "new {@ id =" test "} si ce qui précède ne fonctionne pas. –