이것은 웹 폼과 MVC 버전 5.2.3의 하이브리드 인 ASP.Net 웹 응용 프로그램입니다. 중첩 클래스의 속성에 대해 Html.EditorFor를 호출하면 입력은 "id"속성없이 렌더링됩니다. 어째서? 그리고 모델에서 "id"속성을 렌더링하도록 asp.net을 강제로 변경할 수있는 것이 있습니까?HTML.EditorFor는 ID가없는 중첩 클래스 속성을 렌더링합니다.
, "부모"내 모델은, "아이", 중첩 클래스가 포함되어보기에
public class Parent
{
public string ParentName {get;set;}
public class _Child
{
public string ChildName {get;set;}
}
public Child _Child {get;set;}
}
, 내가 Parent.ParentName이 Html.EditorFor를 (사용하여 렌더링), 그것과 렌더링 모두 " 이름 "및"ID " 즉, 나는 * .cshtml 파일이 넣을 때
<input id="ParentName" name="ParentName" type="text" value="" />
내가 Parent._Child.ChildName을 렌더링 할 때, 그것은없이 렌더링, 그러나 :
@Html.EditorFor(m => m.ParentName)
그것은 다음과 같은 HTML이 렌더링 "Id"속성. 은 "ID"속성없이,
@Html.EditorFor(m => m._Child.ChildName)
그것은 다음과 같은 HTML 렌더링 : 나는 * .cshtml 파일에 넣고 때 즉,
<input name="_Child.ChildName" type="text" value="" />
는 어떻게? 그리고 "id"생성을 강제로 모델화 할 수 있습니까? 새로운 HtmlAttributes를 사용하여 직접 추가 할 수 있다는 것을 알고 있습니다.
id에 숨겨진 클래스로 입력을 생성하지 않는 이유는 무엇입니까? – saeed
문자로 시작하는'_Child'를 변경 하시겠습니까? –
감사합니다 @ MarkSchultheiss, 그게 실제로 문제가되었습니다. 답변에 대한 귀하의 의견을 바꾸시겠습니까? 그런 다음 그것을 선택하고 미래 세대를 안내 할 수 있습니다. –