我想根据从数据库中检索到的值更改DataList中显示的图像 场景:我的表中有5个优先级,根据优先级,我需要在datalist中显示图像。
例如
优先级= 5(红色图像)
优先级= 1(绿色图像)
如何在datalist中按优先级显示这些图像?
答案 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
}
}
希望你能在这里做好其余的工作。