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

发布于 2024-10-31 03:10:34 字数 176 浏览 3 评论 0原文

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

例如

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

我如何根据数据列表中的优先级显示这些图像?

I would like to change the displayed image in a DataList as per values retrieved from database.
Scenario: I have 5 priorities in my table and as per Priority I need show the image in datalist.

For example

Priority = 5 (Red image)
Priority = 1 (Green image)

How would I show those images as per priority in datalist?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

慈悲佛祖 2024-11-07 03:10:34

在数据列表中设置辅助函数。示例代码

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

免责声明:这只是伪代码,因此没有 try catch 机制。

Set a helper function in the Datalist. Sample code

<asp:Image ID="PriorityImage" runat="server" 
         ImageURL='<%# SetPriorityImage(Eval("Priority"))%>'/>

AT code behind (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;
}

Disclaimer: This is just pseudo code and so no try catch mechanisms.

遥远的绿洲 2024-11-07 03:10:34

您可以在数据列表的 ItemDataBound 事件上执行此操作。

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

        }
    }

希望你能在这里完成剩下的工作。

You can do on ItemDataBound event of 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

        }
    }

Hope you can do rest of work here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文