0

我是计算机科学专业的大四学生。我是网络开发的新手。我将 ASP.NET C# 与 MS SQL Server 一起使用。我一直在试图弄清楚如何将数据库中的图像加载到网页上。我已使用以下代码成功完成此操作。

<asp:Image ID="imageClient" runat="server" style="width:100px; height:100px;"/>

protected void LoadImage() 
{
    ModelDataContext mdc = new ModelDataContext();

    byte[] image = (from c in mdc.Clients select c.Logo).FirstOrDefault().ToArray();
    string base64String = Convert.ToBase64String(image, 0, image.Length);
    imageClient.ImageUrl = "data:image/jpg;base64," + base64String;
}

现在我只是为 1 张图片做这件事。我最终将使用中继器在同一页面上显示多个图像。

问题在于图像的加载。它对它使用的母版页做了一些奇怪的事情。就好像它没有将 CSS 应用于母版页。但几秒钟后,它看起来应该如此。问题肯定在于图像的加载,因为在任何其他页面上都没有其他加载问题。

我尝试发布我所看到的图片,但我的声誉太低了。

问题不是特定于浏览器的,它在所有主要浏览器中都做同样的事情......如果有人可以帮助我解决这个问题,那就太好了。

/ ########################### / 编辑:我意识到我试图查看的图像文件可能太大并且从数据库中获取它并加载图像需要很长时间。我的新方法是将图像保存到我的项目中的文件夹中,并将 imageurl 保存在数据库中以引用图像的实际位置。

这是最好的方法,请记住我在 Web 开发方面的进步还差得很远?

谢谢

4

1 回答 1

0

将图像缓存到文件夹可以为您带来好处,例如减少数据库的负载。如果网页处于繁忙的环境(即许多用户)中,则可以缓存所有可以减少数据库负载的内容。

至于初始图像标签。据我记得, asp:Image 不支持 Style 标记,就像 html img 标记一样。我认为您需要在样式表(或嵌入在页面中)中定义一个 css 并使用 CssClass 标签来引用它 - 或者 - 在代码中使用 .Style("property") = "mysetting" 代替。

前:

imageClient.Style("Width") = "100px"
imageClient.Style("Height") = "100px"
于 2012-10-11T04:45:34.980 回答