如何从Arraylist中保存和检索信息 [英] How Do I Save And Retrieve The Information From Arraylist
本文介绍了如何从Arraylist中保存和检索信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前,我在做什么基本上是在我的网站上显示产品目录。每个产品上方都有一个复选框按钮。假设我想选择3个复选框,然后点击比较按钮,它会引导我进入另一个页面。我试图将数据保存在数组列表中,但是,我不能
< span class =code-keyword> void GetCheckedBox()
{
foreach ( DataListItem项 in DataList1.Items)
{
HtmlInputCheckBox cb = item.FindControl( FavChkBox) as HtmlInputCheckBox;
if (cb!= null && cb.Checked)
{
selectedProducts = selectedProducts + , + cb.Value;
LblText.Text = selectedProducts;
Product.Add(selectedProducts);
LblText.Text = selectedProducts;
会话[ product] = Product;
string url = CompareProducts.aspx 跨度>;
Response.Redirect(url);
}
}
}
< br $>
.CompareProducts.aspx.cs
protected void Page_Load( object sender,EventArgs e)
{
if (!IsPostBack)
{
ArrayList Product = Session [ product] as ArrayList;
// string selectedProduct = Product.ToString();
GridView1.DataSource = Product;
GridView1.DataBind();
// 数组列表不为空,可以安全使用
}
}
解决方案
尝试类似
列表< string> products = new List< string>();
foreach (DataListItem item in DataList1.Items)
{
HtmlInputCheckBox cb = item.FindControl( FavChkBox) as HtmlInputCheckBox;
if (cb!= null && cb.Checked)
{
products.Add(cb.Value);
}
}
if (products.Any())
{
会话[ product] = product;
string url = CompareProducts.aspx 跨度>;
Response.Redirect(url);
}
在您的目标页面上;
< pre lang =cs> List< string> products = null ;
if (会话[ product]!= null )
{
products =(List< string>)会话[ product];
}
Currently, what am doing is basically displaying product caatalog in my website. there is a checkbox button above every product. let say i want to select 3 checkboxes and click on compare button, it will lead me to another page. I am trying to save the data in array list, however, i can't
void GetCheckedBox()
{
foreach (DataListItem item in DataList1.Items)
{
HtmlInputCheckBox cb = item.FindControl("FavChkBox") as HtmlInputCheckBox;
if (cb != null && cb.Checked)
{
selectedProducts = selectedProducts + "," + cb.Value;
LblText.Text = selectedProducts;
Product.Add(selectedProducts);
LblText.Text = selectedProducts;
Session["product"] = Product;
string url ="CompareProducts.aspx";
Response.Redirect(url);
}
}
}
.CompareProducts.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList Product = Session["product"] as ArrayList;
// string selectedProduct = Product.ToString();
GridView1.DataSource = Product;
GridView1.DataBind();
//array list is not null, safe to use
}
}
解决方案
Try something like
List<string> products = new List<string>(); foreach (DataListItem item in DataList1.Items) { HtmlInputCheckBox cb = item.FindControl("FavChkBox") as HtmlInputCheckBox; if (cb != null && cb.Checked) { products.Add(cb.Value); } } if (products.Any()) { Session["product"] = product; string url ="CompareProducts.aspx"; Response.Redirect(url); }
On your target page;
List<string> products = null; if (Session["product"] != null) { products = (List<string>)Session["product"]; }
这篇关于如何从Arraylist中保存和检索信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文