2010-07-13 47 views
2

嗨,你能帮助我吗。我需要在GridView项目模板中的客户端编写条件。如何在gridview itemtemplate内的客户端写入条件?

就像你可以看到下面,但它是不工作...

<% if(Eval("item").Contains("keyword"){%> 

<img src='<# Eval("imagepath") %>' /> 

<%} 
else if(Eval("item").Contains("keyword2")){ 
%> 
<img src='<# Eval("imagepath2") %>' /> 

<%}%> 

回答

2

使用代码隐藏函数返回一个布尔值。

ASPX:

<img src='/path1.jpg' id="img1" runat="server" 
     visible='<%# ShowImg1(Eval("Item")) %>' /> 

    <img src='/path2.jpg' id="img2" runat="server" 
     visible='<%# ShowImg2(Eval("Item")) %>' /> 

代码隐藏:

protected boolean ShowImg1(object item) 
{ 
    bool result = false; 
    string item = object as string; 
    // do your checks and return true or false; 

    return result; 
} 

protected boolean ShowImg2(object item) 
{ 
    bool result = false; 
    string item = object as string; 
    // do your checks and return true or false; 

    return result; 
} 
+0

工作对我来说,只是改变以保护布尔ImgPath(object items) { bool result = false; (items.ToString()。Contains(“keyword”)) { result = true; } 返回结果; } – German 2010-07-13 00:45:57

0

我修改后的代码里克肖特在我看来,这种方式更好的建议。

//客户端

<img src='<%# ImgPath(Eval("items")) %>' id="Img" runat="server" /> 

//服务器端

protected string ImgPath(object items) 
    { 
     var result = ""; 
     if (items.ToString().ToLower().Contains("keyword")) 
     { 
      result = "path_to_image"; 
     } 
     else if (items.ToString().ToLower().Contains("keyword2")) 
     { 
      result = "path_to_image_2"; 
     } 
     else 
     {     
      result = "path_to_image"; 
     } 
     return result; 
    } 
0
<img src='<# (Eval("imagepath") + string.Empty).Contains("keyword") ? Eval("imagepath") + string.Empty : Emal("Imagepath2") + string.Empty %>' /> 

的eval( “”)返回一个object

相关问题