Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 中继器内的图像未显示_C#_Asp.net - Fatal编程技术网

C# 中继器内的图像未显示

C# 中继器内的图像未显示,c#,asp.net,C#,Asp.net,我有一个显示照片的转发器。它是这样填充的: AcctRepeaterPhoto.DataSource = ""; dDateID = Convert.ToInt32(lDateID.InnerText); saqConnection.conn = MySQLConn; sqlDataAdapter adp = new SqlDataAdapter("Select * from MyTable", conn) DataSet ds = New Dataset(); adp.Fill(ds, "M

我有一个显示照片的转发器。它是这样填充的:

AcctRepeaterPhoto.DataSource = "";
dDateID = Convert.ToInt32(lDateID.InnerText);

saqConnection.conn = MySQLConn;
sqlDataAdapter adp = new SqlDataAdapter("Select * from MyTable", conn)
DataSet ds = New Dataset();
adp.Fill(ds, "MyPhotoPage");

AcctRepeaterPhoto.DataSource = ds;
AcctRepeaterPhoto.DataBind();

ds.Dispose;
conn.Close;
我100%确信这是可行的,因为我对表单的其他3个部分使用了几乎相同的代码,它们都能完美地工作

ASP方面,我不太确定

大部分都是有意义的,但是应该显示图像的那一行什么也没有显示:

<asp:Image runat="server" ImageUrl='<%# string.Format("D:/MyPics/Photos/{0}", 
  Eval("PhotoLink")) %>' />

当我查看生成页面的源代码时,它会解析为

<img src="D:/MyPics/Photos/MyImageName.jpg">

但它只是显示无效图像显示为的空白方块

如果我切换到:

<asp:Image runat="server" ImageUrl='<%# string.Format("D:\\MyPics\\Photos\\{0}", 
  Eval("PhotoLink")) %>' />

它仍然只显示空方块,但这次显示的是页面的源代码

<img src="D:\MyPics\Photos\MyImageName.jpg">

我已经检查了路径,在“D:\MyPics\Photos\”中有一个名为“MyImageName.jpg”的文件


有人知道发生了什么吗?为什么此图像不显示?

您需要使用图像的URL,而不是文件路径,
属性获取URL

使用ImageUrl属性指定要在中显示的图像的URL 图像控件。您可以使用相对或绝对URL。A. 相对URL将图像的位置与 未在服务器上指定完整路径的网页。路径是 相对于网页的位置。这使得移动更容易 将整个站点复制到服务器上的另一个目录,而不进行更新 密码。绝对URL提供完整的路径,因此移动 站点到另一个目录需要您更新代码

您也可以只传递物理路径,如果您有此图像文件夹的权限,则该路径将返回图像的正确url

诸如此类:

<asp:Image runat="server" ImageUrl='<%# Server.MapPath(string.Format("D:/MyPics/Photos/{0}", 
  Eval("PhotoLink"))) %>' />

我对此不太确定,但根据我的经验, 它通常与~/

所以试试看:
~/MyPics/Photos/MyImageName.jpg


可能是因为它总是从主页开始引用

是否有其他方法引用服务器硬盘上的图像?是的,使用server.MapPath方法,该方法将物理路径作为返回url的路径