1

在我的网站上,我有 2 张桌子 - 专辑和图片。

专辑包含援助,alname。类似的图像包含 - imgid、imgname、imgurl、imgdes 和aid [外键]。

这是我的 gallery.aspx 页面:

<body style="background-image:url('Images/Backgrounds/back.jpg')">
    <form id="form1" runat="server">
        <h1 style="color:White"><i>Gallery - Albums</i></h1>
        <div id="container" runat="server" style="border-style:ridge; border-color:dimgrey; height:565px; padding-left:50px;padding-right:30px;padding-top:20px;padding-bottom:20px;"></div>
    </form>
</body>

这是我的代码隐藏:

con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
con.Open();
com = new SqlCommand("select * from album", con);
reader = com.ExecuteReader();

DataTable dtnew = new DataTable();
dtnew.Load(reader);
DataTable[] dt = new DataTable[6];
con.Close();
if (dtnew.Rows.Count > 0)
{
    for (int i = 0; i < dtnew.Rows.Count; i++)
    {
        con.Open();

        int id = Convert.ToInt32(dtnew.Rows[i]["aid"]);
        DataTable dttemp = new DataTable();
        SqlCommand com1 = new SqlCommand("select * from image where aid=" + id + " ORDER BY aid desc", con);
        SqlDataReader dr = com1.ExecuteReader();
        dttemp.Load(dr);
        dt[i] = dttemp;
        ImageButton img = new ImageButton();
        img.ImageUrl = Convert.ToString(dt[i].Rows[0]["imgurl"]);
        img.ID = Convert.ToString(dtnew.Rows[i]["aid"]);
        img.Click += new ImageClickEventHandler(Img1_Click);
        img.AlternateText = Convert.ToString(dtnew.Rows[i]["alname"]);
        img.ToolTip = Convert.ToString(dtnew.Rows[i]["alname"]);
        img.CssClass = "galimg";

        con.Close();

        container.Controls.Add(img);
    }
}

此代码仅在图像按钮中加载第一张图像并将其显示为相册,单击时将加载与该相册相关的所有图像的另一个页面。

这是它现在的样子:

在此处输入图像描述

我现在想要的是我只想要一个跨度或 div 部分与循环中的每个图像按钮一起添加。这样这个 imagebutton 将有一些背景,其宽度和高度大于 Image 按钮。我怎样才能做到这一点。

我怎样才能在运行时做到这一点?

4

2 回答 2

1

我认为您正在寻找HtmlControl课程:

http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlcontrol.aspx

HtmlControl mySpan = new HtmlControl("span")
于 2013-06-26T18:45:32.430 回答
1

您可以将您的 imagebutton 添加到一个HtmlGenericControl- 所以就在每个按钮之前,您可以创建一个新的 html 控件,然后将您的按钮添加到它并将其添加到您的页面。

该类的构造函数HtmlGenericControl采用 HTML 控件的标记名称,因此很容易将其从 a 更改span为 a div- 只需传入即可"div"

你可以使用这个HtmlGenericControl类来创建你喜欢的任何 html 元素。

所以......像这样的东西:

HtmlGenericControl s = new HtmlGenericControl("span");
s.Attributes.Add("class", "myCssClass");
s.Attributes.Add("id", "myUniqueIdButNotNeeded");
// then your button as normal
ImageButton img = new ImageButton();
// rest of your button code...

// add button to span
s.Controls.Add(img);

// add the span
container.Controls.Add(s);
于 2013-06-26T18:45:38.163 回答