2011-12-01 43 views
0

CS0123:無過載的「爲addItems」匹配委託「System.EventHandler」asp.net錯誤CS0123:沒有超載比賽代表「System.EventHandler」

protected void addItems(System.EventHandler e) 
     { 
      DropDownList numDropDown = (DropDownList) Page.FindControl("DropDownNum"); 

      foreach (numOption option in numConfigManager.numConfig.numOptions.Options) 
      { 
       numDropDown.Items.Add(option.Value); 
      } 
     } 
+0

哪一行你會得到這個例外?你是否將「printListItems」(不管是什麼)傳遞給這個方法?這是否意味着要處理一些事件? – Chris

+0

Erm您發佈的代碼似乎與錯誤沒有任何關係...... –

回答

6

您還沒有表現出什麼叫printListItems所以它不清楚的地方是進來,但是我嫌疑你只是想你的方法的簽名更改爲:

protected void addItems(object sender, EventArgs e) 

...雖然你應該其重命名爲AddItems遵循.NET命名約定。

3

我想你的addItems參數搞砸了,如果你訪問EventHandlers你就知道爲什麼

事件處理程序委託的標準簽名定義沒有返回值的方法,它的第一個參數是類型爲Object並引用引發該事件的實例,並且其第二個參數是從EventArgs類型派生並保存事件數據。如果事件不生成事件數據,那麼第二個參數只是EventArgs的一個實例。否則,第二個參數是從EventArgs派生的自定義類型,並提供保存事件數據所需的任何字段或屬性。

相關問題