2010-07-13 5 views
1

listview의 itemdataboundevent 동안 다음 오류가 발생합니다.listview에서 itemdatabound 이벤트의 문제점은 무엇입니까?

설명 :이 요청을 처리하는 데 필요한 리소스를 컴파일하는 동안 오류가 발생했습니다. 다음 특정 오류 정보를 검토하고 소스 코드를 적절하게 수정하십시오.

컴파일러 오류 메시지 : CS0030 :

Line 91:    CheckBox chk = (CheckBox)e.Item.FindControl("chkFocusArea"); 
Line 92:    
Line 93:    System.Data.DataRowView rowView = (System.Data.DataRowView)e.Item.ItemType; 
Line 94:    
Line 95:   } 

: 'System.Data.DataRowView'

소스 오류로 유형 'System.Web.UI.WebControls.ListViewItemType을'변환 할 수 없습니다 itembound 이벤트에 대한 내 코드가

protected void lvFocusArea_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     CheckBox chk = (CheckBox)e.Item.FindControl("chkFocusArea"); 

     System.Data.DataRowView rowView = (System.Data.DataRowView)e.Item.ItemType; 

    } 
} 

답변

4

잘못된 속성을 사용하고 있습니다. ListViewDataItem 먼저 주조, DataItem 대신 ItemType의 사용 : 나는 비주얼 웹 개발자가 edition.There을 표현 사용하고

C#

ListViewDataItem dataItem = (ListViewDataItem)e.Item; 
System.Data.DataRowView rowView = (System.Data.DataRowView)dataItem.DataItem; 

VB.NET

Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem) 
Dim rowView As System.Data.DataRowView = CType(dataItem.DataItem, DataRowView) 
+0

하기위한 인텔리 없다 e.Item.DataItem. – Subbu

+0

먼저 ListViewDataItem에 캐스팅해야한다는 것을 잊어 버렸습니다. 내 업데이트 답변을 참조하십시오. – Carvellis

+0

수정 된 솔루션 덕분에 – Subbu

관련 문제