每當按鈕事件觸發時,我的列表變空並開始添加第一個索引中的項目。它不保留之前點擊添加的舊項目。我試圖將每個按鈕單擊的列表中的某些元素的ID存儲在哈希集中以避免重複。請好心幫助我這個列表在按鈕事件上變爲空
這是我的代碼。
List<int> venues = new List<int>();
HashSet<int> hashset = new HashSet<int>();
id = Convert.ToInt32(Request.QueryString["id"].ToString());
venues.Add(id);
foreach (int item1 in venues)
{
if (!hashset.Add(item1))
{
Response.Write("<script>alert('Duplicate Items');</script>");
break;
}
else
{
foreach (var items in venues)
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from Venues where VenueID = '" + items + "'";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter ds = new SqlDataAdapter(cmd);
ds.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
Name = dr["Name"].ToString();
Address = dr["Address"].ToString();
Picture = dr["Picture"].ToString();
Price = dr["Price"].ToString();
}
con.Close();
if (Request.Cookies["aa"] == null)
{
Response.Cookies["aa"].Value = Name.ToString() + "," + Address.ToString() + "," + Picture.ToString() + "," + Price.ToString();
Response.Cookies["aa"].Expires = DateTime.Now.AddDays(1);
}
else
{
Response.Cookies["aa"].Value = Request.Cookies["aa"].Value + "|" + Name.ToString() + "," + Address.ToString() + "," + Picture.ToString() + "," + Price.ToString();
Response.Cookies["aa"].Expires = DateTime.Now.AddDays(1);
}
}
}
}
}
嗨!你能提供更多關於你的問題的信息嗎?從您共享的代碼片段中,我不認爲數據會持久保存到數據庫 – user3402754
@ user3402754即時嘗試限制用戶選擇重複元素進行購物。我正在使用該項目的ID填充我的列表。然後即時通訊轉移他們的哈希集,以確保沒有重複的ID存在。我從數據庫中提取數據並將其插入到cookie中。除了這個問題,每件事情都很好。在每次點擊時,我的列表都會刷新並清空。我不知道爲什麼 – Ahsan
@ user3402754我應該在這裏使用回發檢查嗎?實際上我是新來的asp。 :| – Ahsan