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

pav*_*red 5 javascript c# asp.net gridview

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

因此,每行可以具有不同的值,并且基于这些值,我需要显示不同的图像.我试图调用javascript函数GetImage()并将我在databind上获得的值传递给此函数.但是,我不能让这个工作.

 <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>
Run Code Online (Sandbox Code Playgroud)

Javascript功能 -

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

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

Nak*_*nch 7

除非你有更多的需求,你没有提到,没有必要使用Javascript,你也可以在服务器上做所有事情.

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

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

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

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

而且你已经完成了.