我正在更新一些循環訪問集合的舊代碼,並根據對象中的值設置一些UI顯示屬性。如何獲取HTML表格中的所有<asp:Label>控件?
不幸的是,它的硬編碼就像這樣:
for (int i = 0 ; i < length; i++) // length is going to be 30+
{
// do some stuff
switch (i)
{
case 1:
lbl1.Text = myVariable;
break;
case 2:
lbl2.Text = myVariable;
break;
....
case 15:
lbl15.Text = myVariable;
break;
}
}
(我說不幸,因爲它實際上具有每箱5條線,我離開了,它做同樣的事情,而不管的情況下)
現在,我可以將所有15 label
控件放在一個數組中,並且在我的for
循環中只需執行if (i <= 15) lblArr[i].Text = myVariable;
,但我寧願不必對此數組進行硬編碼。如果我們添加更多標籤,那麼我們需要記住更新此功能。因此,我試圖找到一種方法來查找特定HTML元素中的所有控件,但是我找不到.NET語言中的一個工作示例。
在winforms中,我可以簡單地遍歷someControl.Controls
並找到合適的,但由於這些是HTML表格中的標籤,而不是中繼器或類似的東西,所以我不知道如何找到它們。有任何想法嗎?
只是好奇,如果*長度將是30 + *,爲什麼開關在15結束? – Amit
你真的在使用普通的HTML表格,還是使用runat服務器的WebControl表格? – thewisegod
@Amit我正在迭代的集合不僅僅是在頁面上設置一些值,而是前15個元素包含「額外」用戶定義字段的值 – sab669