如何根据条件在datalist中显示图像

时间:2011-04-07 10:51:39

标签: c# asp.net datalist

我想根据从数据库中检索到的值更改DataList中显示的图像 场景:我的表中有5个优先级,根据优先级,我需要在datalist中显示图像。

例如

优先级= 5(红色图像)
优先级= 1(绿色图像)

如何在datalist中按优先级显示这些图像?

2 个答案:

答案 0 :(得分:1)

在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;
}

免责声明:这只是伪代码,所以没有尝试捕获机制。

答案 1 :(得分:0)

您可以对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

        }
    }

希望你能在这里做好其余的工作。