Как привязать сложный словарь к Gridview в asp.net? - PullRequest
1 голос
/ 06 июня 2010

Я использовал раннее связывание dictionary<string, string> с видом сетки, чтобы показать текст Urls и его HRef в качестве значения ключа, и он работает как шарм. Но так как я хочу заменить словарь следующим:

dictionary<string, LinkInfo>

привязка идет не так! Должен ли я обрабатывать некоторые события, такие как onItemDataBound или что-то? и структура LinkInfo :

public struct LinkInfo{
    public string href;
    public bool Enabled;
}

1 Ответ

1 голос
/ 07 июня 2010

Да, вам необходимо подписаться на событие OnItemDataBound. Используйте поле шаблона, вставьте литерал с идентификатором вроде "href"

В событии OnItemDataBound используйте

Literal _href = e.Row.FindControl("href") as Literal;  
if(_href != null)
{
  _href = ((LinkInfo)e.Row.DataItem).href;
}

Редактировать : Я написал статью, которая более подробно описывает эту тему: http://www.tomot.de/en-us/article/7/asp.net/gridview-overview-of-different-ways-to-bind-data-to-columns

...