如何根据条件在数据列表中显示图像

问题描述:

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

例如

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

如何将显示数据列表每个优先级的那些图像作为?

+0

请把你的代码放在这里..你已经尝试过。 – 2011-04-07 11:02:38

+0

我是这个Datalist的新手。请帮助如何做到这一点... IAM在非常紧急,请尝试帮助我与示例代码 – santhosh 2011-04-07 11:28:54

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

免责声明:这只是伪代码,因此没有尝试捕捉机制。

你可以在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 

     } 
    } 

希望你可以在这里做其余的工作。

+0

Iam刚刚新Datalist控制,请帮助我应该写什么..与一些代码片段,非常有用+ +我 – santhosh 2011-04-07 11:21:17