0

製品 ID と数量のフォーマットされた文字列を含む Cookie を取得しようとしています。クエリを実行して、Cookie の各項目のテーブル データを取得するように設定しました。次に、データを取得してリストビューに接続する必要があります。Cookie は :1x4:23x9... のようになります。

public partial class checkout : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        productTableAdapter ad = new productTableAdapter();

        HttpCookie c = Request.Cookies["cart"];
        if (c == null)
        {


        }
        else
        {
            string items = c.Value;
            new prod(items);
            if (items.Length > 0)
            {
                char[] delimiterChars = {':'};
                string[] orders = items.Split(delimiterChars);
                char[] del = {'x'};
                ObjectDataSource ods = new ObjectDataSource();
                foreach( string s in orders){
                    string[] proc = s.Split(del);
                    int id = int.Parse(proc[0]);
                    int quant = int.Parse(proc[1]);
                    DataSet1.productDataTable td = ad.GetDataByPID(id);
                    // something..?


                }
                ListView1.DataSource = ods;

                ListView1.DataBind();

            }

        }

    }
}
4

1 に答える 1

0

にバインドしてみませんIListか?

 public class LVItemModel
 {
     public int Id { get; set; }
     public int Quantity { get; set; } 
 }

        ...

        string items = c.Value;
        if (items.Length > 0)
        {
            List<LVItemModel> list = new List<LVItemModel>();

            string[] orders = items.Split( new char[] { ':' } );
            foreach( string s in orders){

                string[] proc = s.Split(new char { 'x' });

                int id    = int.Parse(proc[0]);
                int quant = int.Parse(proc[1]);

                list.Add( new LVItemModel() { Id = id, Quantity = quant } );
            }

            ListView1.DataSource = list;
            ListView1.DataBind();

        }
于 2012-12-06T10:22:58.797 に答える