怎么设置DataList图片

来源:百度知道 编辑:UC知道 时间:2024/06/17 01:53:47
C#,asp.net用DataList获取数据库的数据,得到了是状态STATE,分别有0,1,2,3值,根据各种值的不同,得到不同的图片,请问怎么设才行,显示图片的控件是ImageButton 包含在Datalist里面的
switch (seat.State)
{
case "1":
str = "~/Images/ChnIdle.gif";
break;
case "2":
str= "~/Images/ChnIdleReady.gif";
break;
default:
str= "~/Images/ChnNotUse.gif";
break;

}
-----------------------------------------------------------------
<asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#336666"
BorderStyle="Double" BorderWidth="3px" CellPadding="4" GridLines="Horizontal" RepeatColumns="5" RepeatDirection="Horizontal&qu

方法1,用方法传递参数实现:
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# GetUrl(Eval("state")) %>'
后台代码:
protected string GetUrl(object State)
{
switch (State.ToString())
{
case "1":
return "/Images/ChnIdle.gif"; // 这里用~没有效果
break;
}
...
}

方法2,在数据绑定时处理:
<asp:DataList ID="DataList1" runat="server" OnItemDataBound="func"

后台代码:
protected void func(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
ImageButton btn = (ImageButton)e.Item.FindControl("ImageButton1");
switch (((DataRowView)e.Item.DataItem)["state"].ToString())
{
case "1":
btn.ImageUrl = "~/Images/ChnIdle.gif"; <