2012-09-10 2 views
10

좋아, 그래서 강력하게 입력 된 리피터 컨트롤에 대한 몇 가지 멋진 물건을 보니 ... 유일한 문제는 그것이 작동하지 않을 것입니다. 나는 중계기를 연결 한 List<Entry>을 가지고있다. 데이터를 표시하고 싶습니다. 일반적으로 나는 ((Entry)(Container.DataItem))을 사용하지만, 내가 읽은 바로는 ItemType에 타입을 선언 할 수 있습니다.강력한 유형의 중계 제어에 ItemType 사용?

음 ... 그게 내가 시도한 것이지만, 나는 아무것도 얻지 못합니다. 나는 무엇을 여기에서 엉망 이냐?

<asp:Repeater ID="UserRptr" ItemType="HROpenEnrollment.Classes.Entry" runat="server"> 
    <ItemTemplate> 
     <ul class="UserList"> 
      <li class="CompoundField"> 
       <%# ???? I can't use Item here. %> 
      </li> 
     </ul> 
    </ItemTemplate> 
</asp:Repeater> 

내가 입력 클래스를 찾지 못했다고 생각 하겠지만 ... 그걸 어떻게 얻을 수 있습니까? 동일한 네임 스페이스의 별도 폴더에 있습니다.

using (MicroGOVEntities entities = DataEntitiesFactory.GetInstance()) 
{ 
    var getGovernments = from g in entities.S_Government 
         orderby g.DateCreated descending 
         select g; 
    rpData.DataSource = getGovernments.ToList(); 
} 
rpData.DataBind(); 

을 그리고 ASP.NET의 코드는 다음과 같습니다 :

+0

당신은 당신이 읽고 있었는지에 대한 링크를 제공 할 수 있습니까? 'ItemType'은'RepeaterItem'의 속성이지'Repeater'가 아닙니다. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeateritem.itemtype.aspx – McGarnagle

+1

@dbaseman 원래 http://weblogs.asp.net/scottgu/archive/를 읽었습니다. 2011/09/02/strong-typed-data-controls-asp-net-vnext-series.aspx를 참조하십시오. 그러나 구글 검색 후 ModelType의 이름이 ItemType으로 변경되었다고 들었습니다. 이 방법을 올바르게 사용하려면 어떻게해야합니까? – proseidon

+0

잘 모르겠지만 VS 2012/ASP.Net 4.5가 필요합니다. 그게 너와 함께 일하는거야? – McGarnagle

답변

19

아래처럼 뒤에 코드에서 데이터를 바인딩 할 필요가

<asp:Repeater ID="rpData" runat="server" 
       ItemType="MicroGOV.Entity.S_Government" 
       OnItemCommand="rpData_ItemCommand"> 
    <ItemTemplate> 
     <td><%#:Item.GovernmentID %></td> 
    </ItemTemplate> 
</asp:Repeater> 
관련 문제