1
我在我的web表單中有30個複選框,我想將複選框的狀態存儲在一個bool數組中。現在,因爲asp.net不接受使用像「我」這樣的變量的複選框的「checked」狀態,問題是我不知道如何執行代碼!檢查包含變量的複選框的狀態。複選框(i).checked?
我想是這樣的:
bool[] array = new bool[30];
for (int i = 0; i < 30; i++)
{
array[i] = CheckBox(i).Checked ;
}
當你運行上面的代碼,你會得到這樣的錯誤:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0118: 'System.Web.UI.WebControls.CheckBox' is a 'type' but is used like a 'variable'
Source Error:
Line 109: for (int i = 0; i < 30; i++)
Line 110: {
Line 111: array[i] = CheckBox(i).Checked;
Line 112: }
Line 113:
我究竟想知道我可以使用複選框的ID與同一個變量,如:
i = 15;
CheckBox(i).Checked
代替:
CheckBox15.Checked
ASP.net 4和c# 謝謝你們。
它帶着錯誤:「異常詳細信息:System.NullReferenceException:對象不設置爲一個對象源錯誤的一個實例:線路111:array [代號] =((CheckBox)Page.FindControl(「CheckBox」+ i.ToString()))。Checked;「 但是,謝謝@vhinn可怕 –
你有一個複選框,其ID是「CheckBox0」?如果沒有,當然它會返回NULL,因爲它沒有看到這樣的控件。改變你的循環從1開始,而不是0! –
這不是因爲那個。我做了你告訴結果是一樣的,我也做了:bool con =((CheckBox)Page.FindControl(「CheckBox10」))。這是一樣的。你會不知道我是否也說過:string str =((CheckBox)Page.FindControl(「CheckBox10」))。ID.ToString(); 和結果是一樣的。我認爲它完全不能用這種方法精細控制! –