Отображение изображения на основе значения в столбце asp GridView - PullRequest
5 голосов
/ 01 февраля 2011

У меня есть gridview, и одним из полей шаблона является тег сервера изображений asp.Я хочу отобразить изображение в этом виде сетки, но основываясь на значении, которое я получаю при привязке данных.

Итак, каждая строка может иметь разные значения, и на основе этих значений мне нужно отображать разные изображения.Я попытался вызвать функцию GetImage () из JavaScript и передать значение, полученное при привязке данных, к этой функции.Но я не могу заставить это работать.

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

Что я здесь не так делаю?И как я могу это исправить?Спасибо

Ответы [ 2 ]

7 голосов
/ 01 февраля 2011

Если у вас больше нет потребностей, о которых вы не упомянули, вам не нужно использовать 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";
    }
}

И все готово.

1 голос
/ 01 февраля 2011

Ваша GetImage функция не выполняется.

См: теги IMG SRC и JavaScript


Код на стороне сервера может вернуть путь к изображению без использования JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...