У меня было datalist
, у меня было ddl
, и пользователь может выбрать значение из ddl
для привязки datalist
.Когда я пытался найти ddl
в datalist
, когда пользователь выбирал значение, эта ошибка появлялась
Индекс был вне диапазона.Должен быть неотрицательным и меньшим, чем размер коллекции.Имя параметра: index
здесь
DDLProduct2 = (DropDownList)DLProduct.Items[DLProduct.EditItemIndex].FindControl("DDlProduct");
, поэтому, пожалуйста, помогите мне.
private DropDownList DDLProduct2;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ProductByProductID();
CategoryParentZero();
}
}
protected void DDlProduct_SelectedIndexChanged(object sender, EventArgs e)
{
DDLProduct2 = (DropDownList)DLProduct.Items[DLProduct.EditItemIndex].FindControl("DDlProduct");
if (DDLProduct2 != null)
{
if (DDLProduct2.SelectedIndex > 0)
{
using
(SqlConnection conn = Connection.GetConnection())
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_GetProductsByProductID";
SqlParameter ParentID_Param = cmd.Parameters.Add("@ProductID", SqlDbType.Int);
ParentID_Param.Value = DDLProduct2.SelectedValue;
;
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
DLProduct.DataSource = dt;
DLProduct.DataBind();
}
}
}
}