당신은 어떻게 사용자 정의 id 를 사용하여 렌더링 HtmlHelper MVC

StackOverflow https://stackoverflow.com/questions/8147

  •  08-06-2019
  •  | 
  •  

문제

미리보기 4ASP.NET MVC 다음과 같은 코드:

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

만 출력:

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

name 기 위해 양식 포스트지 id 에 대한 자바 스크립트 또는 레이블:-(

나는 그것을 바꾸기:

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

작-하지만 나는 예외가:

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

으로 있었다면 이미 id 어딘가 컬렉션에서 어딘가에-난황!

전체 예외에 대한 관심있는 사람들을 다음과 같(헤이 좋지 않을 첨부하는 파일에 여기):

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
도움이 되었습니까?

해결책

이것을 보십시오:

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

키워드에 대한 사용할 수 있는 밑줄기 전에 이름을의 특성이 있습니다.신의 클래스를 사용하 _class.이 클래스는 키워드 C#에서도 이름을의 특성에 HTML.지금"id"이지 않는다에서 키워드 C#지만,아마도 그것은 다른 부분에서 일어납니다.순이는 언어들을 지원합니다.에서 무엇을 말할 수 있는지 키워드 VB.NET F#또는 루비 그래서 어쩌면 그것은 실수는 그들의 힘을 사용하는 밑줄로 그것.

다른 팁

분명히 이해합니다.기 때문에 그들은 그것을 추가해 잠재적인 값을 렌더링,그들은 그냥 잊을 포함됩니다.내가 만드는 것이 좋습 버그에 codeplex,그리고 소스를 다운로드 및 수정에 대한 귀하의 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top