asp.net 小脚本循环控件
<%for(inti=0;i<3;i++){%><asp:LabelID="Label1"runat="server"Text="Label"></asp:Label><...
<%
for (int i = 0; i < 3; i++)
{
%>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<%
}
%>
如何使页面加载后id显示的是Label0、Label1、Label2 展开
for (int i = 0; i < 3; i++)
{
%>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<%
}
%>
如何使页面加载后id显示的是Label0、Label1、Label2 展开
3个回答
展开全部
1.给你要遍历的区域加个panel,这样后面遍历时效率就会高很多,不会整个页面去找控件
<asp:Panel ID="pnlEdit" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</asp:Panel>
2.在你所要执行的事件中:
foreach (Control item in pnlEdit.Controls)
{
if (item is TextBox) //是否是某种控件类型
{
TextBox tb = (TextBox)item;
Response.Write(tb.ClientID);//这里就可以取每个控件的ID,我不太明白你所指的控件名称是哪个,我理解的是指控件的客户端ID.你如果是要其他属性,也简单,控件都得到了,想取哪个属性就可以直接点出来.
}
}
请参考
<asp:Panel ID="pnlEdit" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</asp:Panel>
2.在你所要执行的事件中:
foreach (Control item in pnlEdit.Controls)
{
if (item is TextBox) //是否是某种控件类型
{
TextBox tb = (TextBox)item;
Response.Write(tb.ClientID);//这里就可以取每个控件的ID,我不太明白你所指的控件名称是哪个,我理解的是指控件的客户端ID.你如果是要其他属性,也简单,控件都得到了,想取哪个属性就可以直接点出来.
}
}
请参考
展开全部
你的逻辑不对,服务器控件不能这么用。服务器控件不能动态生成服务器控件,除非放在数据绑定控件中。这么递归是不行的。因为这样无法符合.net控件载入的前后顺序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-11-12
展开全部
<%
for (int i = 0; i < 3; i++)
{
%>
<label id="Lable<% =i %>" >frgyf </label>
<%
}
%>
不用服务端控件就可以运行
for (int i = 0; i < 3; i++)
{
%>
<label id="Lable<% =i %>" >frgyf </label>
<%
}
%>
不用服务端控件就可以运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询