[英]use more than one labels
在我的ASP.NET應用程序中,我有大約7到8個Label
控件,當前用於設置其Text
值的代碼如下所示:
while (MyReader.Read())
{
if(j>=i && j-i<=10 && j<(10+i+a))
{
Label"+[j]+".Text=a;
}
j++;
}
現在,我的標簽名稱從1改為8,我不想重復我的聲明,例如:
label1.text = a;
label.text = b;
該怎么辦?
而不是擁有七個不同的變量( label1
, label2
等),而是具有一個List<Label>
類型或類似類型的變量。 然后,您可以通過索引訪問它們,遍歷所有它們,等等。
如果您依賴設計器為您聲明變量,則可以不理會它們,但是也可以將一個收集變量放在一個位置。 唯一的問題是,如果您重新分配各個變量,則該更改將不會反映在您的集合中。
順便說一句,您似乎已經將表示邏輯和數據訪問邏輯放在一個地方-您應該考慮將它們分開...
這實際上應該可以解決您的問題:
((Label)Page.FindControl("Label" + j)).Text = a;
但是,正如喬恩(Jon)所建議的那樣,最好使用列表或其他方式以更通用的方式管理標簽。
嘗試這個
while (MyReader.Read())
{
if(j>=i && j-i<=10 && j<(10+i+a))
{
Label lbl = new Label();
lbl.Name="Label" + j;
lbl.Text = a;
}
j++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.