0
我正在使用一個網站,用戶可以從列表中添加和刪除視頻。所有的添加和刪除都是通過複選框完成的。我可以一次添加多個視頻,但是當我嘗試從列表中刪除多個視頻時,它會給我這個錯誤:「索引超出範圍。必須是非負值,並且小於集合。參數名稱:索引「,但是當沒有問題一次刪除一個。另外,當我得到錯誤,並返回檢查視頻消失。索引超出範圍例外
下面是兩個添加和刪除事件的代碼:
protected void btnAddVideo_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GridView3.Rows)
{
CheckBox chkItem = (CheckBox)gvr.FindControl("cbAdd");
if (chkItem.Checked)
{
String sRecID = GridView3.DataKeys[gvr.RowIndex].Value.ToString();
Session["videorecid"] = sRecID;
SqlDataSource2.Insert();
SqlDataSource2.SelectCommand = "SELECT * FROM dealervideo inner join videos on videos.RecID = dealervideo.VideoRecID inner join dealers on dealers.RecID = dealervideo.DealerRecID where dealers.RecID = " + hidRecID.Value;
GridView2.DataBind();
}
}
GridView2.DataBind();
}
protected void btnDeleteVideo_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in GridView2.Rows)
{
CheckBox chkItem = (CheckBox)gvr.FindControl("cbDelete");
if (chkItem.Checked)
{
String sRecID = GridView2.DataKeys[gvr.RowIndex].Value.ToString();
Session["videorecid"] = sRecID;
SqlDataSource2.Delete();
SqlDataSource2.SelectCommand = "SELECT * FROM dealervideo inner join videos on videos.RecID = dealervideo.VideoRecID inner join dealers on dealers.RecID = dealervideo.DealerRecID where dealers.RecID = " + hidRecID.Value;
GridView2.DataBind();
}
}
}
我是新來的StackOverflow,所以我很抱歉,如果這是太多或太少的信息。編輯: 這是在C#ASP.NET中,我不知道錯誤在哪裏,但我相信它是在btnDeleteVideo_Click事件。如果需要,我將顯示其他事件(btnAddVideo_Click)作爲參考。如果它有幫助,我可以刪除它。
這是太多*和*太少的信息。將代碼減少到確切的失敗並指定語言。 – 2012-02-28 20:34:43