如何从数据库中获取名称,标题,链接和图像并将其放入div中

时间:2014-06-02 17:44:58

标签: c# asp.net

我对这种情况感到不安。这是我的问题:

我有一个ASP.NET页面来显示数据库中存在的不同albuns。每张专辑都会重定向到一组特定的图片。

从数据库,我想自动生成一个框架,其中包含缩略图,标题和用于将用户重定向到图片的链接。 从数据库中获取这些元素非常简单。但我无法用它来生成这些帧。 到目前为止,这是我的代码:

我的SP:

USE [DCMSDEV]
GO
/****** Object:  StoredProcedure [dbo].[usp_get_all_albuns]    Script Date: 06/02/2014 18:29:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[usp_get_all_albuns]
as
begin
    select Imagem, Link, Title from Imagens_Categorias
end

对于我的模特,我有:

 public class PortfolioModel
{
    string connectionString = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;

    public Entities.Portfolio GetAlbuns()
    {
        Entities.Portfolio port = new Entities.Portfolio();
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand("usp_get_all_albuns", connection);
            command.CommandType = CommandType.StoredProcedure;

            SqlDataReader reader = null;
            connection.Open();
            reader = command.ExecuteReader();

            while (reader.Read())
            {
                port.Link = reader["Link"].ToString();
                port.Title = reader["Title"].ToString();
                port.Imagem = reader["Imagem"]; //Error: Cannot implicitly convert type 'object' to 'byte[]'. An explicit conversion exists (are you missing a cast?)

            }

        }
        return port;
    }
}

对于我的控制器,我有:

public class PortfolioController
{
    PortfolioModel pmodel = new PortfolioModel();

    public Entities.Portfolio GetAlbuns()
    {
        return pmodel.GetAlbuns();
    }
}

在我的ASP.NET页面中,我尝试使用此代码:

 <div class="box" id="Albuns" runat="server">
    <%  foreach (var items in GetAlbuns())
       {%>

                <article class="border c-two" style="background-image:url(<% Convert.ToByte(items); %>)">
                    <div style="opacity: 0;" class="fdw-background">
                        <h4><a href="<% items.ToString(); %>" style="color:#fff;"><% items.ToString(); %></a></h4>

                        <p class="fdw-port">
                            <a href="#">Open Album <span class="vg-icon">→</span></a>
                        </p>
                    </div>
                </article>

      <% } %>

但它没有用。我不知道该怎么做:&#39;(

你能帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:0)

要显示图像,您通常会在html中提供一个网址,浏览器可以进行第二次往返检索,例如:

<article class="border c-two" style="background-image:url('/getimage.ashx?id=5511)">

那就是说,可以通过base64对html中的内嵌图像进行编码。有关详细信息,请查看Embedding Base64 Images