Vra

Die gebruik van voorskou 4 van ASP.NET MVC Kode soos:

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

net uitgange:

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

Daar is 'n name daar vir die vorm post terug maar geen id vir javascript of etikette: - (

Ek het gehoop dat die verandering na:

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

sou werk - maar in plaas daarvan kry ek 'n uitsondering:

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

Asof daar was reeds 'n id iewers in 'n versameling iewers - ek is gestonk

Die volle uitsondering van enigeen wat belangstel volg (hey - sou dit nie lekker wees om lêers in hier):

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
Was dit nuttig?

Oplossing

Probeer hierdie:

<%= Html.CheckBox("myCheckbox", "Click here", "True", false, new {_id ="test" })%>

Vir enige navraag wat jy kan 'n onderstreep gebruik voor die naam van die eienskap. In plaas van die klas gebruik jy _class. Sedert die klas is 'n navraag in C #, en ook die naam van die kenmerk in HTML. Nou, "id" is nie 'n navraag in C #, maar miskien is dit in 'n ander NET taal wat hulle wil ondersteun. Van wat ek kan sê, is dit nie 'n navraag in VB.NET, F #, of Ruby so miskien is dit 'n fout wat hulle dwing om 'n onderstreep gebruik met dit.

Ander wenke

Blykbaar is dit 'n fout. Omdat hulle dit dra by tot potensiële lewering waardes, hulle het vergeet net om dit in te sluit. Ek sou aanbeveel om 'n fout op CodePlex, en die aflaai van die bron en dit verander vir jou behoeftes.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top