2011-02-01 34 views
5

Tôi có chế độ xem lưới và một trong các trường mẫu là thẻ máy chủ hình ảnh asp. Tôi muốn hiển thị một hình ảnh trong GridView này nhưng dựa trên giá trị mà tôi có được trên databind.Hiển thị hình ảnh dựa trên giá trị trong cột asp GridView

Vì vậy, mỗi hàng có thể có một giá trị khác nhau và dựa trên các giá trị này tôi cần hiển thị các hình ảnh khác nhau. Tôi đã cố gắng gọi hàm GetImage() của javascript và chuyển giá trị mà tôi nhận được trên databind tới hàm này. Nhưng, tôi không thể làm việc này được.

<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> 

chức năng Javascript -

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

Tôi đang làm gì sai ở đây? Và, làm thế nào tôi có thể sửa nó? Cảm ơn

+0

Bạn có thể hiển thị kết xuất HTML được hiển thị không? – msms

Trả lời

7

Trừ khi bạn có nhiều nhu cầu hơn mà bạn chưa đề cập, không cần sử dụng Javascript và bạn cũng có thể thực hiện mọi thứ trên máy chủ.

Thay đổi asp của bạn: thẻ hình ảnh như sau:

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

Trong bạn code-behind, đặt như sau:

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

Và bạn đã hoàn tất.

+0

Tôi không thể sử dụng Bind hoặc Eval vào thuộc tính src của thẻ Image server. Và, dựa trên câu trả lời của bạn, tôi đã sử dụng thuộc tính ImageURL thay vào đó và thao tác dữ liệu tương ứng trong nguồn dữ liệu của tôi (code-behind). Cảm ơn. – pavanred

+0

Công việc tuyệt vời. Tôi vui vì bạn đã làm nó hoạt động. –

1

Chức năng của bạn Chức năng GetImage không được thực thi.

Xem: IMG SRC tags and JavaScript


server side code có thể trở lại đường dẫn đến hình ảnh mà không cần sử dụng JS.

+0

Hmm có ý nghĩa. Nhưng, bất kỳ ý tưởng làm thế nào tôi có thể giải quyết vấn đề này? Bất kỳ trợ giúp được đánh giá cao. – pavanred

+0

Bạn có thể làm điều đó mà không cần sử dụng bất kỳ javascript nào. – msms

Các vấn đề liên quan