Мне нужно добавить itemid из списка строк, когда я нажимаю кнопку «добавить в корзину» в gridview, я смог передать этот itemid в массив.
Но проблема в том, что каждый раз, когда я нажимаю кнопку, предыдущий идентификатор элемента перезаписывается новым элементом, вместо этого я хочу, чтобы Arraylist расширялся.
public partial class Drama_k : System.Web.UI.Page
{
string Cn=@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ewap_k.mdf;Integrated Security=True;User Instance=True";
ArrayList arrValues = new ArrayList(4);
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName=="AddToCart")
{
int index = Convert.ToInt32(e.CommandArgument);
Session["item"] = GridView2.DataKeys[index].Value.ToString();
arrValues.Add(Session["item"]);
GridView1.DataSource = arrValues;
GridView1.DataBind();
}
}
}
2 ответа
Не забывайте, что arrayylist где-то не хранится, вы должны хранить его в сеансе пользователя и при каждой обратной передаче, вызванной кнопкой, извлекать его из сеанса и добавлять элемент, на который щелкнул пользователь.
Изменить: вот небольшой пример того, как вы должны хранить ArrayList в сеансе и извлекать его при каждой обратной передаче.
public partial class _Default : System.Web.UI.Page
{
ArrayList array;
protected void Page_Load(object sender, EventArgs e)
{
if(Session["array"] == null)
{
array = new ArrayList();
Session.Add("array", array);
}
else
array = Session["array"] as ArrayList;
GridView1.DataSource = array;
GridView1.DataBind(); //Edit 2
}
protected void Button1_Click(object sender, EventArgs e)
{
array.Add(DateTime.Now);
}
}
Если у вас остались вопросы, дайте мне знать.
Вам просто нужно сохранить этот ArrayList
в ViewState
или Session
, чтобы он сохранял свои значения между обратными передачами.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.