Столбцы доступа в событии ItemDataBound, когда источником данных является Linq

Я пошел бы для чего-то вроде этого:

y String.methods.sort

, Который даст Вам yaml представление сортированного массива методов. Обратите внимание, что это может использоваться для списка методов и классов и объектов.

16
задан Fabian 24 September 2009 в 11:59
поделиться

3 ответа

Вы не привязываете строку данных к своему элементу управления (вы привязываете анонимный тип), поэтому вам не следует приводить DataItem к DataRow.

Попробуйте получить данные своей строки как:

var dataItem = e.Item.DataItem;
// For example get your CustomerID as you defined at your anonymous type :
string customerId = dataItem.CustomerID;
-2
ответ дан 30 November 2019 в 15:11
поделиться

Наконец нашел, было так просто:

long customerID = long.Parse(DataBinder.Eval(e.Item.DataItem, "CustomerID").ToString());
36
ответ дан 30 November 2019 в 15:11
поделиться

Этот подход .Net 4.0 также очень крут!

public void PersonDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        dynamic person = e.Item.DataItem as dynamic;

        string name = person.Name;
        int age = person.Age;
    }
}

All Credit To: http://www.kristofclaes.be/blog/2010/08/12/anonymous-types-and-the-itemdatabound-event/

Поскольку страница теперь показывает ошибку 404, вот страница из Wayback Machine: Анонимные типы и событие ItemDataBound (Архивная версия)

35
ответ дан 30 November 2019 в 15:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: