2012-04-13 2 views
1

Здесь я рассмотрел вопросы, но никто, кажется, не ответил на мой вопрос.Показать изображение в сетке ретранслятора, если оцениваемое значение оценивается до определенного значения

У меня есть сетка ретранслятора ASP.NET, которая настроена для привязки к списку, который показывает, что такое значение этого элемента. На данный момент он просто показывает текстовое значение переменной i.e. OFF, но то, что я хочу сделать, это отобразить соответствующее изображение, то есть если оно выключено, покажите зеленое изображение, если оно включено, отобразите красное изображение.

Это то, что я пытаюсь сделать в коде, предположил, что вы сделали это здесь вместо aspx.cs?

<td><%# DataBinder.Eval(Container.DataItem, "Spill") == "OFF" ? %> 
<asp:Image runat="server" ImageUrl="~/Images/green.JPG" /> 
<%:%> 
<asp:Image runat="server" ImageUrl="~/Images/red.JPG" /> %> 
</td> 

Компилятор жалуется на '%>' после? и «%>» после: так что, очевидно, я не понял, но не могу думать, как это сделать.

Спасибо за anyones помощь заранее

ответ

0

Markup:

<asp:Image runat="server" 
    ImageUrl='<%# WhichImage(DataBinder.Eval(Container.DataItem, "Spill")) %>' /> 

Code-за:

protected string WhichImage(object spill) 
{ 
    string result = "~/Images/green.JPG"; 
    string spillResult= (string)spill; 
    if(!spillResult.Equals("OFF")) 
    { 
     result = "~/Images/red.JPG"; 
    } 
    return result; 
} 
+0

Спасибо за этот ответ Рик, просто ответ, который мне нужен :) – jamiesmith25

0

Для этого на лицевой стороне в одной строке, сделал бы что-то вроде этого:

<asp:Image id="imgSpill" runat="server" ImageUrl='<%# (DataBinder.Eval(Container.DataItem, "Spill") == "OFF" ? "~/images/red.jpg" : "~/images/green.jpg") %>' /> 

Надеюсь, это поможет! Удачи!