我試圖通過下拉列表 提交文件時,管理員選擇批准/拒絕在GridView控件一次,然後點擊提交按鈕,然後採取行動進行 我的代碼提交按鈕必須爲非負數且小於集合的大小
protected void Button1_Click(object sender, EventArgs e)
{
//foreach (GridViewRow row in GrdFileApprove.Rows)
//{
// //If row in Datarow then go ahead and find the control
// if (row.RowType == DataControlRowType.DataRow)
// {
// DropDownList DropDownListcontrol = row.FindControl("DropDownList4") as DropDownList;
// }
//}
string connStr
ConfigurationManager.ConnectionStrings["mydms"].ConnectionString;
SqlConnection mySQLconnection = new SqlConnection(connStr);
if (mySQLconnection.State == ConnectionState.Closed)
{
mySQLconnection.Open();
}
// Sql Command Object
//SqlCommand mySqlCommand;
DropDownList drdList;
foreach (GridViewRow row in GrdFileApprove.Rows)
{
drdList = (DropDownList)
(GrdFileApprove.Rows[row.RowIndex].Cells[1].FindControl("DropDownList4"));
if (GrdFileApprove.DataKeys[row.RowIndex]["ApproveID"].ToString() !=
drdList.SelectedValue)
{
SqlCommand cmd = new SqlCommand("approved", mySQLconnection);
}
}
if (mySQLconnection.State == ConnectionState.Open)
{
mySQLconnection.Close();
}
它給我的錯誤在這行
if (GrdFileApprove.DataKeys[row.RowIndex]["ApproveID"].ToString() !=
drdList.SelectedValue)
ERROR
指數超出範圍。必須是非負數且小於集合的大小。 參數名稱:索引
任何解決方案?
'必須是非負值且小於集合的大小。「# – walther
顯然,您正在嘗試索引不存在的集合元素。 'DataKeys'中是否存在'row.RowIndex'?如果是這樣,DataKeys [row.RowIndex]'中是否存在''ApproveID''?其中一個沒有,你可以調試找出哪一個。 – David
只是爲了好玩。什麼是GrdFileApprove定義爲? (它是什麼類型的?) – 2013-10-07 18:00:29