2012-04-30 3 views
3

У меня есть ListView, в ItemTemplate я связать поле, как:
<%#Eval("FiledName") %>
Но FeildName itselfe исходит от ресурсов, как:
<asp:Localize Text="<%$ Resources: Resources, productnamefield %>" runat="server" />
Теперь мне нужно что-то вроде it:
<%#Eval(<asp:Localize Text="<%$ Resources: Resources, productnamefield %>" runat="server" />) %>
, но это неверно (скомпилирована с ошибкой)
Как я совмещаю эти два?Привязать к ListView FIELDNAME приходит от ресурса

+0

+1 Интересный вопрос – Icarus

+0

Hmmmm. Единственный подход, о котором я могу думать, связан с отражением. –

+0

Таким образом, для использования «Eval» обязательно использовать привязку данных к веб-элементу управления (например, Literal) в ListView? – 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 для отображения значения.

Смежные вопросы