<img src=" <%# GetPath(Eval("ServerIP"), Eval("filename")) %>" width="100" height="75" border="0" alt="缩略图"> 
这是gridview中的一个模板列,其中GetPath是后台的函数,filename是绑定到Gridview中的数据集中的一个字段,ServerIP是在后台经过处理的变量,不是数据集中的字段。后台函数:
 protected string GetPath(string flag , string filepath)
    {
        string serverIP = "";
        if (flag == "0")
        {
           serverIP="192.168.0.172";
        }
        else if (flag == "1")
        {
           serverIP="192.168.0.171";
        }
       return "file://" + serverIP + @"/Files/" + filepath;
    }

请问大家,这样写是正确的吗?
应该怎样写呢?

解决方案 »

  1.   

    filename 你可以在后台取得时 从ds中取出来private string filename;
    private string ServerIP;
    private string flag;
    public string strPath;//在load里写(获得数据源时)
    private void Page_Load(object sender, System.EventArgs e)
     {
             for(int i=0;i<ds.Table[""].Row.count;i++)
             {
              filename = ds.Table[""].Row[i][列名]
               GetPath(flag,filename);
             }
      }protected string GetPath(string flag , string filepath) 
        { 
            string serverIP = ""; 
            if (flag == "0") 
            { 
              serverIP="192.168.0.172"; 
            } 
            else if (flag == "1") 
            { 
              serverIP="192.168.0.171"; 
            } 
            strPath = "file://" + serverIP + @"/Files/" + filepath; 
            return strPath;
        } 
    前台绑定时<img src=" <%=strPath%> width="100" height="75" border="0" alt="缩略图"> 
      

  2.   

    去掉这句  string serverIP = ""; 
      

  3.   

     return "file://" + serverIP + @"/Files/" + filepath;  ??
    这种格式是错误的!