2012-04-30 3 views
3

에서 오는
<asp:Localize Text="<%$ Resources: Resources, productnamefield %>" runat="server" />
지금 내가 좋아하는 뭔가가 필요 그것 :
<%#Eval(<asp:Localize Text="<%$ Resources: Resources, productnamefield %>" runat="server" />) %>
하지만 올바르지 않습니다. (컴파일 오류 있음)
어떻게 결합합니까?바인딩 내가 ListView를, 그 ItemTemplate을 내가 같이 필드에 바인딩 한 한 자원

+0

+1 흥미로운 질문 – Icarus

+0

흠. 제가 생각할 수있는 유일한 접근법은 반사입니다. –

+0

따라서 "Eval"을 사용하는 것은 필수이며 ListView 내의 웹 컨트롤 (예 : Literal)에 데이터를 바인딩 할 수 없습니까? – sbhomra

답변

3

는이 작품의 라인을 따라하지 일이겠습니까 :

protected void yourListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     DataRowView drv = e.Item.DataItem as DataRowView; 

     Label filedName = e.Item.FindControl("FiledNameLabel") as Label;  

     //Get resource value 
     string resourceValue = GetGlobalResourceObject("ResourceFile","productnamefield").ToString(); 
     filedName.Text = drv[resourceValue].ToString(); 
    } 
} 

그런 다음 값을 표시하여 ListView에있는 라벨을 사용합니다.