回答
当然可以。 .aspx部分的标签将在代码隐藏文件中具有相应的对象。没有什么特别的,它们就像任何其他的.NET对象一样。例如,如果你有标记,看起来像这样
<asp:Label runat="server" id="MyLabl1" Text="Some Text 1" />
<asp:Label runat="server" id="MyLabl2" Text="Some Text 2" />
<asp:Label runat="server" id="MyLabl3" Text="Some Text 3" />
<asp:Label runat="server" id="MyLabl4" Text="Some Text 4" />
代码隐藏文件将有类似
protected global::System.Web.UI.WebControls.Label MyLabl1;
protected global::System.Web.UI.WebControls.Label MyLabl2;
protected global::System.Web.UI.WebControls.Label MyLabl3;
protected global::System.Web.UI.WebControls.Label MyLabl4;
根据你的项目是如何建立这可能是无论是在cs文件或.designer.cs文件。从那里,没有什么能阻止你将它们添加到数组中,并从那里使用它们。
例如
var labels = new Label[] { MyLabl1, MyLabl2, MyLabl3, MyLabl4 };
将数组称为labels
与它的4个标签,然后你可以做你希望他们不管。然后你可以做labels[0]
去到第一个,等等。这是你想到的吗?
Label[] labels = new Label[10];
labels[0] = new Label();
labels[0].Text = "blablabla";
...
labels[9] = new Label();
labels[9].Text = "blablabla";
我如何将标签(9)标识为aspx中的labelId? – ThorDozer 2011-04-24 02:39:44
不知道你的意思,它是你的标签数组中的标签....它会是标签myLabel =(标签)标签[9]; – 2011-04-24 19:40:00
一个页面,看起来是这样的:
<body>
<form id="form1" runat="server">
<div id="labelSpace" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label" Visible="false" >Label One</asp:Label><br />
<asp:Label ID="Label2" runat="server" Text="Label">Label Two</asp:Label><br />
<asp:Label ID="Label3" runat="server" Text="Label">Label Three</asp:Label><br />
<asp:Label ID="Label4" runat="server" Text="Label" Visible="false">Label Four</asp:Label></div><br />
<asp:Button ID="Button1" runat="server" Text="PostBack and Change Labels" />
</form>
这将让你所有标签的数组中的<div id="labelSpace">
,没有其他控件:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)//This will only fire after button is clicked...
{
//This does [just as you ask] provide you with an array of labels
Label[] labels = this.labelSpace.Controls.OfType<Label>().ToArray<Label>();
//& Allows you to manipulate a label in the code behind
// by addressing it's index value;
labels[2].Text = "Modified In Code Behind";
//Something you may find more useful than an array is getting
// a list of labels like:
List<Label> listOfLabels = this.labelSpace.Controls.OfType<Label>().ToList<Label>();
//with a list you can identify an individual label easily like:
IEnumerable<Label> invisibleLabels = listOfLabels.Where(l => l.Visible == false);
//with an 'IEnemerable of invisible labels you can now manipulate those to make them all visible...
foreach (Label l in invisibleLabels)
{
l.Visible = true;
l.Text = "Made Visible";
}
//or, if you just want a single label where the id is "Label2"
var labelThree = labels.Where(p => p.ID == "Label2").First();
labelThree.Text = "selected by label id and then edited";
}
}
如果你想在页面级开始,你将需要构建一个递归例程来钻入子控件来创建一个masterControlCollection,然后调用".OfType<T>..."
一旦你已经得到这么多,你可以使用LINQ来选择一个特定的标签或基于你想要的任何属性的标签集。
好的呼吁,把他们从控制集合中拿出来。 – R0MANARMY 2011-04-24 05:37:46
- 1. ASP.NET图表值标签
- 2. 标签列表asp.net或javascript?
- 3. Html标签标签和ASP.NET
- 4. asp.net mvc标签内标签
- 5. 表单标签内的ASP.Net表单标签
- 6. ASP.NET Img标签
- 7. Asp.net MVC标签
- 8. ASP.NET图表控件 - 轴标签
- 9. ASP.NET列表框中的标签空间
- 10. ASP.net上的表单标签页
- 11. 如何为asp.net图表创建标签?
- 12. ASP.net mvc表单验证内Jquery标签
- 13. 3d标签云asp.net
- 14. ASP.NET验证标签
- 15. ASP.NET标签发出
- 16. Asp.NET标签显示
- 17. 拆分ASP.NET标签ID
- 18. ASP.NET TreeView CheckBoxes窗体标签
- 19. asp.net中的标签mvc
- 20. 我想在标签在asp.net
- 21. 用asp.net链接标签
- 22. ASP.NET异步标签更新
- 23. ASP.NET - Environment.NewLine包装L1标签
- 24. 传ASP.NET标签ID为Javascript
- 25. ASP.NET网站的标签
- 26. ASP.NET服务器标签
- 27. 如何投射ASP.NET标签?
- 28. ASP.NET div标签适合
- 29. 更改ASP.NET标签格式
- 30. asp.net悬停在标签
你是什么意思的“数组表”?从一个数组中创建一个HTML表(如果是这样,类型??)。 DataTable可能?扩展一些你的目标,这将有助于我们更好地理解这个问题。 – 2011-04-24 02:12:27
哦,对不起,一系列标签 – ThorDozer 2011-04-24 02:14:42
您能详细说明您要实现的目标吗?我怀疑有一个更有效的方式来达到预期的结果,而不是你提出的。 – 2011-04-24 03:03:53