C# 在循环中以编程方式指定HiddenField值
在C# 在循环中以编程方式指定HiddenField值,c#,asp.net,loops,webforms,C#,Asp.net,Loops,Webforms,在default.aspx上,我有以下隐藏字段: <asp:HiddenField runat="server" ID="icon1" /> <asp:HiddenField runat="server" ID="icon2" /> <asp:HiddenField runat="server" ID="icon3" /> 我必须每次这样单独分配iconX.Value?我可以在一个循环中一次性完成所有操作吗(为了简洁起见,还可以删除所有其他操作) for(i
default.aspx
上,我有以下隐藏字段:
<asp:HiddenField runat="server" ID="icon1" />
<asp:HiddenField runat="server" ID="icon2" />
<asp:HiddenField runat="server" ID="icon3" />
我必须每次这样单独分配iconX.Value
?我可以在一个循环中一次性完成所有操作吗(为了简洁起见,还可以删除所有其他操作)
for(inti=1;i您必须在HTML部分创建一个asp:panel
然后,在c代码中,创建一个循环并创建您描述的元素
完全配置元素后,将其添加到面板中
.ASPX文件
<asp:Panel ID="panel_controls" runat="server"> </asp:Panel>
for (int i = 1; i <= 3; i++) {
HiddenField myField = new HiddenField();
myField.ID = "icon" + i;
myField.Value = "Bonus" + i;
panel_controls.Controls.Add(myField);
}
C#代码
<asp:Panel ID="panel_controls" runat="server"> </asp:Panel>
for (int i = 1; i <= 3; i++) {
HiddenField myField = new HiddenField();
myField.ID = "icon" + i;
myField.Value = "Bonus" + i;
panel_controls.Controls.Add(myField);
}
for(int i=1;i
循环最符合逻辑。可能吗
是。使用页面的方法按控件ID查找控件:
for (int i = 1; i <= 3; i++)
{
HiddenField field = (HiddenField)this.FindControl("icon" + i);
field.Value = "Bonus" + i.ToString();
}
for(int i=1;i