在 .NET 中使用会话时不会显示图像

Image won't display when using session in .NET

我正在处理一个会话,我想在从网格视图中选择它时显示图像,所以我有两个网格视图,第一个包含数据库中的行,第二个应该包含从第一个中选择的行我遇到的问题是第一个显示图像没有问题,但第二个显示图像没有任何问题。

这是我的第一个代码

foreach (CONTENT c in ls)
{
    string ext = Helper_GetExtensionFromMimeType(c.MimeType);
    c.TmpFilename = string.Format("~/Images/Contents/Content-{0}{1}", c.ContentID, ext);
}

gridview1.DataSource = ls;
gridview1.DataBind();

第二个的代码是(会话名称是panier

CONTENT dummy;
dummy = new CONTENT();
dummy.TmpFilename = Server.MapPath(string.Format("~/Images/Contents/Content-{0}{1}",
  c.ContentID, ext));
panier.Add(dummy);
gridview2.DataSource = panier;
gridview2.DataBind();

如果不查看您的视图代码,将很难确定问题到底是什么。

无论如何,请确保图像确实存在于生成的位置。

在行 dummy.TmpFilename 之后放置一个断点并确保 link 确实使用正确的 c.ContentIDext 格式化,然后复制 link到浏览器确保图像存在。

我找到了问题的解决方案,如果有人感兴趣,可以在这里找到

我替换

     dummy.TmpFilename = Server.MapPath(string.Format("~/Images/Contents/Content-{0}{1}",c.ContentID, ext));

  dummy.TmpFilename =string.Format("~/Images/Contents/Content-{0}{1}",c.ContentID, ext);