LINQ to SQL 결과 집합과 List 개체가 포함 된 FormViewModel이 있습니다.ViewData.Model의 필드 값을 필드 문자열 이름으로 참조하는 방법
결과 집합은보기에 표시 할 수있는 모든 가능한 필드 값 집합입니다.
이
은이 목록 특정 것을 AllFields의 필드의 부분 집합의 캐릭터 이름이 포함 (Model.UserFields)가 ... Model.AllFields.Field1, Model.AllFields.Field2이다 사용자가 표시하려고합니다.
목록 (Model.UserFields.ItemSource) 필드 이름 '입력란 3을 ","Field16 "... 포함
내가 item.ItemSource이 문자열 필드 이름입니다이, 수행 할 수있는 방법 : (의사 VB를)
<%For Each item In Model.UserFields%>
<td><%=Html.Encode(Model.AllFields(item.ItemSource))%></td>
<%Next item%>
가 나는 다른 방식으로 이것을 달성 할 수있는 모델을 바꿀 수 실현하지만,이를 달성하는 방법은 상기와 같은 "간접"참조 통해 있는가?
감사
(아마 충분히 빠른 거의 모든 사용 사례 반드시 가장 빠른하지만)
위대한 작품. GetValue에 null 값을 처리하는 방법이 있습니까? –
몇 가지 방법이 있지만이 시점에서이 코드의 복잡성은 아마도 인라인보다 더 많을 것입니다. 필드 이름을 허용하고 문자열 값 (또는 값이 null 인 경우 빈 문자열)을 반환하는보기 페이지 (예 : runat = 서버 스크립트 블록)에서 도우미 메소드를 만드는 것이 좋습니다. –
도움 주셔서 감사합니다! –