在我的网站上,我有两张桌子 - 专辑和图片。
专辑包含援助,alname。同样的图像包含 - imgid,imgname, imgurl,imgdes and 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或div部分。这样的图像按钮将有一些宽度和高度大于图像按钮的背景..我怎样才能实现这一点。
如何在运行时执行此操作?
答案 0 :(得分:1)
我认为你正在寻找HtmlControl
课程:
http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlcontrol.aspx
HtmlControl mySpan = new HtmlControl("span")
答案 1 :(得分:1)
您可以将图片按钮添加到HtmlGenericControl
- 所以在每个按钮之前您可以创建一个新的html控件,然后将按钮添加到它并将其添加到您的页面。
HtmlGenericControl
类的构造函数采用HTML控件的标记名称,因此很容易将其从span
更改为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);