#asp.net #drop-down-menu
#asp.net #выпадающее меню
Вопрос:
У меня был ddl в datalist, и когда я попытался привязать datalist со значением из ddl, эта ошибка появилась (ссылка на объект не установлена …) здесь DDLProduct.Выбранный индекс
public DropDownList DDLProduct;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DLProduct_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DDLProduct = e.Item.FindControl("DDlProduct") as DropDownList;
DDLProduct.Items.Insert(0, new ListItem("Swithch Model", "0"));
}
}
protected void DDlProduct_SelectedIndexChanged(object sender, EventArgs e)
{
if (DDLProduct.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 = DDLProduct.SelectedValue;
;
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);
DLProduct.DataSource = dt;
DLProduct.DataBind();
}
}
}
Комментарии:
1. Полное исключение и генерирующая строка были бы полезны, так же как и определения aspx.
Ответ №1:
Я думаю, что ваша проблема здесь:
DDLProduct = e.Item.FindControl("DDlProduct") as DropDownList;
Какова цель этой строки?
У вас уже есть ссылка на этот элемент управления «DDLProduct»
редактировать — без фактического исключения и т.д. Я только предполагаю.
Ответ №2:
Какая строка выдает ошибку?
Просто предположение, но попробуйте
DDLProduct = sender as DropDownList;