iv'e получил страницу aspx с некоторыми пользовательскими элементами управления, каждый из которых содержит флажок.
флажок установлен, когда пользовательский элемент управления добавлен на страницу.флажок установлен на автоматическую отправку сообщений назад
, что мне нужно для того, чтобы при автоматической отправке сообщений назад пользовательский элемент управления исчезал.
прежде всего, как я загружаю свои пользовательские элементы управления: iзагрузите их в виде строк в таблице и присвойте их значениям идентификатора значение сущности, которую они представляют
private void Load_Products(List<AppProduct> user_products)
{
HtmlTableRow row = null;
foreach(AppProduct p in user_products)
{
row = new HtmlTableRow();
tbl_products.Rows.Add(row);
CartProduct prd = (CartProduct)Page.LoadControl("~/UserControls/CartProduct.ascx");
prd.Title = p.Title;
prd.Price = p.Price.ToString();
prd.Pid = p.Pid.ToString();
prd.ID = p.Pid.ToString();
prd.State = 2;
prd.Product_Checked += new EventHandler(prd_Product_Checked);
HtmlTableCell cell = new HtmlTableCell();
cell.Controls.Add(prd);
row.Cells.Add(cell);
}
}
. CartProduct UserControl представляет сущность AppProduct
теперь, как я удалил продукт (usercontrol), удалив его из списка следующим образом:
void prd_Product_Checked(object sender, EventArgs e)
{ // this removes the product from the same list that the load products function gets
ProductChangedEventArgs args = (ProductChangedEventArgs)e;
cart.RemoveProduct(uid, args.Pid);
Response.Redirect("~/Pages/cart.aspx");
}
, теперь это работает, но кажется неправильным отсылать и затем перенаправлять снова, чтобы повлиять на удаление из списка наотправлять обратно, но вступает в силу только при следующей загрузке страницы, когда список перезагружается.если бы я мог каким-то образом удалить элемент из списка во время загрузки страницы назад без необходимости перенаправлять снова.
есть идеи, как мне пропустить перенаправление?я подумал о том, чтобы посылать аргументы с обратной передачей, но я не знаю, возможно ли это вообще, потому что тогда я мог бы отправить идентификатор продукта и удалить его из списка до вызова Load_Products.
заранее спасибо, Эран.