У меня есть Dropdownlist
и кнопка внутри datalist. Я выбираю количество элементов из раскрывающегося списка, а затем передаю его в событие кнопки, чтобы отправить его в базу данных.Как передать значения между событиями?
Но я не могу этого сделать. Проблема в том, что переменная selectedValue
присваивается только внутри dditem_change
, хотя я объявил ее глобально.
Как получить доступ к его значению в DataList1_ItemCommand(object source, DataListCommandEventArgs e)
.
Вот код для изменения выпадающего списка
public void dditem_change(object sender, EventArgs e)
{
var ddlList = (DropDownList)sender;
selectedValue = ((DropDownList)ddlList.NamingContainer.FindControl("drplist")).SelectedValue;
}
Это код для общественного ничтожной DataList1_ItemCommand
public void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if(e.CommandName == "Add")
{
if (Session["user"] == null)
{
Response.Write("<script>alert('Login First!!!');</script>");
}
else
{
string[] ar = e.CommandArgument.ToString().Split(',');
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=DTPXP-77A;Initial Catalog=practice;Integrated Security=true";
con.Open();
SqlCommand cmd = new SqlCommand("insert into cart values(@username,@prodname,@price,@stock)", con);
cmd.Parameters.Add("@username", SqlDbType.VarChar);
cmd.Parameters.Add("@prodname", SqlDbType.VarChar);
cmd.Parameters.Add("@price", SqlDbType.Int);
cmd.Parameters.Add("@stock", SqlDbType.Int);
cmd.Parameters["@username"].Value = Session["user"].ToString();
cmd.Parameters["@prodname"].Value = ar[0].ToString();
cmd.Parameters["@price"].Value = int.Parse(ar[1]);
cmd.Parameters["@stock"].Value = //selectedValue NOT ACCESSIBLE//
cmd.ExecuteNonQuery();
Response.Write("<script>alert('Successfully Added');</script>");
}
}
}
Можете ли вы использовать ddlList.SelectedValue внутри DataList1_ItemCommand? – appcoder
Не могли бы вы показать, как это объявлено и где в контексте класса страницы? – Steve
Нет, я не могу получить доступ к ddlList.SelectedValue внутри DataList1_ItemCommand –