c#
  • asp.net
  • gridview
  • 2013-11-26 76 views 0 likes 
    0

    我在gridview下面有ItemTemplate從文件夾中獲取圖像。在behinde代碼,我檢查圖像是否存在,如果圖像沒有存在它返回一個替代圖片,但我不能得到的代碼,如果圖像存在使用模板中的字符串。謝謝你的幫助。ImageUrl在gridview中檢查

    <ItemTemplate> 
        <asp:Image ID="Image1" runat="server" ImageUrl='<%# GetImageUrl(Eval("PerfilId", "AdminFotoUser/UserPics/{0}.png") as string)%>' /> 
    </ItemTemplate> 
    

    「behindecode」

    protected string GetImageUrl(string input) 
        { 
         if (input.Equals("no")) 
         { 
          return "AdminFotoUser/UserPics/BGP1.png"; 
         } 
         else 
         { 
          ??? 
         } 
        } 
    

    回答

    0

    如果我正確理解你的問題,你可以使用FileInfo.Exists測試文件是否存在。

    var path = Server.MapPath("~/AdminFotoUser/UserPics/BGP1.png"); 
    var fileInfo = new FileInfo(path); 
    if (fileInfo.Exists) 
    { 
        // File exists in the folder   
    } 
    
    0

    嘗試通過只圖像標識它,因爲(我猜)將要位於同一文件夾中所有的圖像更清潔,

    protected string GetImageUrl(string input) 
    { 
        var filepath = Server.MapPath(string.format("~/AdminFotoUser/UserPics/{0}.png",input)); 
    
        return File.Exists(filepath)?   
         string.format("AdminFotoUser/UserPics/{0}.png",input):   
         "AdminFotoUser/UserPics/default.png"; // otherwise return default pic 
    
    } 
    
    +0

    感謝,......但由於某種原因, retourns me default.png總是 – RMU

    +0

    嘗試搜索完整的文件路徑然後,我已經更新了我的回答 –

    +0

    記住綁定中的參數應該只包含「PerfilId」 –

    相關問題