Repeater控件根据数据库状态不同值改变图片
时间: 2024-05-08 16:17:26 浏览: 95
Repeater控件使用
Repeater控件是ASP.NET中的一个数据绑定控件,用于在页面中重复显示数据。想要根据数据库状态不同值改变图片,需要在Repeater控件的ItemDataBound事件中进行判断和操作。
具体步骤如下:
1. 在Repeater控件的ItemTemplate中添加一个Image控件,用于显示图片。
2. 在Repeater控件的ItemDataBound事件中获取当前数据行的状态值,可以通过e.Item.DataItem来获取。
3. 根据状态值不同,设置Image控件的ImageUrl属性为不同的图片路径。
以下是示例代码:
```
<asp:Repeater ID="repeater1" runat="server" OnItemDataBound="repeater1_ItemDataBound">
<ItemTemplate>
<asp:Image ID="imgStatus" runat="server" />
</ItemTemplate>
</asp:Repeater>
protected void repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// 获取当前数据行的状态值
int status = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "Status"));
// 根据状态值设置图片路径
Image imgStatus = (Image)e.Item.FindControl("imgStatus");
if (status == 1)
{
imgStatus.ImageUrl = "status1.png";
}
else if (status == 2)
{
imgStatus.ImageUrl = "status2.png";
}
else
{
imgStatus.ImageUrl = "default.png";
}
}
}
```
上述代码中,根据数据库中的Status字段的不同值,设置了对应的图片路径。在Repeater控件的ItemDataBound事件中,通过DataBinder.Eval方法获取当前数据行的状态值,并根据其值设置Image控件的ImageUrl属性。需要注意的是,在设置Image控件的ImageUrl属性时,需要使用相对路径或绝对路径。
阅读全文