所以我正在为音频租用查询系统创建一个网页。这些项目保存在数据库中,其中包含品牌,型号,每日成本,类型等信息。
我需要为数据库中的每个项目加载带有标签,图像,按钮和文本框的网页(随着时间的推移会增长和缩小)。
为此,我查询数据库以查找项目总数,然后生成并填充此循环中的项目(这是HTML和C#代码块之间的混合); (我删除了一些小的格式化内容,比如换行符等,以便于阅读)
<% for (int i = 1 ; i <= total; i++)
{
brand = getBrand(i, conString);
name = getName(i, conString);
price = getPrice(i, conString);
type = getType(i, conString); %>
<asp:Label ID="lblName" CssClass="name" runat="server"/>
<% (lblName).Text = (brand + " " + name);
lblName.ID = "lblName" + i; %>
<asp:Image ID="imgItem" runat="server" Width="325px"/>
<% imgItem.ImageUrl = (@"~\Images\" + brand + "_" + name + ".jpg");
imgItem.ID = "imgItem" + i; %>
<asp:Label ID="lblPrice" CssClass="info" runat="server"/>
<% lblPrice.Text = ("£" + Convert.ToString(price) + " per day");
lblPrice.ID = "lblPrice" + i; %>
<asp:Button id="btnAdd" text="Add" runat="server" onClick="btnAdd_Click"/>
<asp:TextBox ID="txtQty" TextMode="Number" Width="24px" CssClass="quantity" runat="server">1</asp:TextBox>
<% btnAdd.Load += new EventHandler(btnAdd_Click);
btnAdd.ID = Convert.ToString(i);
txtQty.ID = ("txtQty" + i); %>
<asp:Image CssClass="rule" runat="server"/>
<% }%>
但是,当它生成网页时,它不会在第一个项目上启动,它会在ID被更改之前以对象的空白版本开始(例如,btnAdd而不是1,2等):
我全身都搜索过,无法找到解决方案。
- 在设计器中将视图状态设置为false会删除所有对象,而不仅仅是第一个对象(这是唯一出现在设计器中的对象)。
- 从设计器中删除它们会删除代码行,然后重新添加代码行将它们添加回设计器
任何帮助或任何指示我在某个地方的正确方向的帮助都非常感激。
谢谢, 本