我試圖將一組Dropdown控件作爲參數傳遞給以Control類型的集合作爲輸入的方法。執行時出現以下錯誤:將下拉集合發送到接受控件集合的方法時出錯
「無法投射類型爲'd__a3 1[System.Web.UI.WebControls.DropDownList]' to type 'System.Collections.Generic.IEnumerable
1 [System.Web.UI.Control]'的對象。」
任何想法,爲什麼我得到這個?
我的代碼:
private void Caller()
{
IEnumerable<DropDownList> dropDownControlsInCurrentRow = currentRow.Controls.OfType<DropDownList>();
SetControlsVisibility(dropDownControlsInCurrentRow, false);
}
private void SetControlsVisibility(IEnumerable<Control> controlCollection, bool visibilityFlag)
{
foreach (ctrl in controlCollection) {
ctrl.Visible = visibilityFlag;
}
}
是你的或者框架的'OfType`方法嗎?如果是你的,你可以爲此編寫代碼嗎?如果它來自框架,那麼`currentRow`的類型是什麼? – 2010-11-26 08:46:56
^^它是IEnumerable擴展方法(內置)。 currentRow是GridViewRow類型。 – Dienekes 2010-11-26 08:53:06