我有一个 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/