c# - 根据 asp GridView 列中的值显示图像

标签 c# javascript asp.net gridview

我有一个 gridview,其中一个模板字段是一个 asp 图像服务器标签。我想在此 gridview 中显示图像,但基于我在数据绑定(bind)上获得的值。

因此,每一行都可以有不同的值,并且基于这些值我需要显示不同的图像。我试图调用一个 javascript 函数 GetImage() 并将我在数据绑定(bind)上获得的值传递给这个函数。但是,我无法让它工作。

 <Columns>
      <asp:TemplateField HeaderText="<%$Resources:LocalizedText,LabelStatus%>">
           <ItemTemplate>
                <asp:Image ID="imgStatus" runat="server" CssClass="label" src="GetImage(<%#Eval(<%# Bind("Status_value")  %>) %>)"/>
           </ItemTemplate>
      </asp:TemplateField>
  </Columns>

Javascript 函数 -

function GetImage(value)
{
    if (value == 1)
    {
        return "../Images/act_green.gif";
    }
    else
    {
        return "../Images/act_red.gif";
    }
}

我在这里做错了什么?而且,我该如何解决?谢谢

最佳答案

除非你有更多的需求没有提到,否则没有必要使用Javascript,你还不如在服务器上做所有事情。

将您的 asp:image 标记更改为以下内容:

<asp:Image ID="imgStatus" runat="server" CssClass="label" ImageURL='<%# GetImage((int)Eval("Status_Value")) %>' />

在您的代码隐藏中,放置以下内容:

public static string GetImage(int value)
{
    if (value == 1)
    { 
        return "../Images/act_green.gif";
    }
    else
    {
        return "../Images/act_red.jpg";
    }
}

大功告成。

关于c# - 根据 asp GridView 列中的值显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4862470/

相关文章:

c# - ReSharper:重构以消除中间接口(interface)

c# - 我如何获得 System.Windows.Window

c# - C#程序错误

javascript - 验证在自动回发时消失

javascript - 实现组合函数和返回结果的问题

javascript - jQuery attr 在 aspx 上替换

c# - 交换矩阵行的最佳方式?

javascript - 在 React Native 中,是否可以在 Pan Responder 的 onStartShouldSetPanResponder 中检测到滑动与点击?

c# - MySQL 查询多个表的搜索过滤器

asp.net - "Open a file"位于 html 页面的网络共享中?