2014-01-15 122 views
1

我聲明在此之後,這是錯誤我得到不包含定義認定中

protected void Page_Load(object sender, EventArgs e) 
{ 
     List<String> LabelTextList = new List<String>(); 
     dr = cmd.ExecuteReader(); 
     while (dr.Read()) 
     { 
     LabelTextList.add(dr[0].ToString()); 
     } 
} 

錯誤1「MasterPage_Profile」不包含關於「LabelTextList」和沒有擴展方法的定義「LabelTextList」接受類型「MasterPage_Profile」的第一個參數可以發現(?是否缺少using指令或程序集引用)

[更新]現在它說:

「System.Collections.Generic.List」不包含「添加」的定義並且沒有擴展方法'add'接受類型'System.Collections.Generic.List'的第一個參數可能被發現(你是否缺少使用指令或程序集引用?)

+1

開始列表 LabelTextList = new List ();應該是列表 labelTextList =新列表();和this.LabelTextList.add(dr [0] .ToString());應該是labelTextList.add(dr [0] .ToString()); –

+0

,除非你已經聲明瞭一個名爲LabelTextList的字段,那麼你不會使用this關鍵字來獲取它。你已經在方法級別範圍內,所以這不是必需的,不適用 – owen79

+0

@PaulZahra我改變了它。名稱'labelTextList'在當前上下文中不存在。 – user3021598

回答

5

刪除this - LabelTextList是一個局部變量。

protected void Page_Load(object sender, EventArgs e) 
{ 
     List<String> LabelTextList = new List<String>(); 
     dr = cmd.ExecuteReader(); 
     while (dr.Read()) 
     { 
      LabelTextList.add(dr[0].ToString()); 
     } 
} 
+0

+1同意。很明顯OP沒有掌握C#OOP的基礎知識。首先通過使用「this」引用一個局部變量。另外,不遵循基本的C#編碼語法指南(例如,LabelTextList應該是labelTextList)。 – PhillyNJ

2

要將其解決此切換到以下

LabelTextList.Add(dr[0].ToString()); 

LabelTextList值是一個局部變量的定義。當您使用this.前綴表達式時,它會告訴編譯器查找值的成員,而不是本地人。

這裏是一個名爲LabelTextList場如果保持值作爲一個地方與this.

List<String> LabelTextList = new List<String>(); 
protected void Page_Load(object sender, EventArgs e) 
{ 
    dr = cmd.ExecuteReader(); 
    while (dr.Read()) 
    { 
     this.LabelTextList.Add(dr[0].ToString()); 
    } 
} 

而且工作的反例的標準命名模式將labelTextList而不是LabelTextList。這不是語言所要求的,但是是首選的風格。

+0

我改變了。但錯誤仍然出來。它仍然有相同的一個 – user3021598

+0

@ user3021598我的代碼或Jakub的示例應該工作得很好。它至少應該消除你得到的最初的錯誤。你現在得到一個新的嗎? – JaredPar

+0

是的,出現新的錯誤。名稱'labelTextList'在當前上下文中不存在。 – user3021598

相關問題