как отображать изображения в списке данных согласно условию - PullRequest
0 голосов
/ 07 апреля 2011

Я хотел бы изменить отображаемое изображение в списке данных согласно значениям, полученным из базы данных.
Сценарий : у меня в таблице 5 приоритетов, и в соответствии с Приоритетом мне нужно показать изображение в списке данных.

Например

Приоритет = 5 (красное изображение)
Приоритет = 1 (зеленое изображение)

Как бы я показал эти изображения в соответствии с приоритетом в списке данных?

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Установите вспомогательную функцию в Datalist. Пример кода

<asp:Image ID="PriorityImage" runat="server" 
         ImageURL='<%# SetPriorityImage(Eval("Priority"))%>'/>

код AT позади (aspx.cs)

protected string SetPriorityImage(object priority)
{
    string image = "";
    int prioritySwitch = Convert.ToInt32(priority);
    switch (prioritySwitch )
    {
        case 1: 
            image="~/Images/Red.png";
            break;
        case 5:
            image="~/Images/Green.png";
            break;
        default:
            image="~/Images/Error.png";
            break;
    }
    return image;
}

Отказ от ответственности: это просто псевдокод, поэтому не пытайтесь ловить механизмы.

0 голосов
/ 07 апреля 2011

Вы можете сделать на ItemDataBound событие datalist.

protected void datalist1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {

// Your code logic comes here. here you can find image object that you have used in //ItemTemplate

        }
    }

Надеюсь, что вы можете сделать остальную работу здесь.

...