c# - Why does this not work? -
i have class act variables store data textboxes:
public class business { int64 _businessid = new int64(); int _businessno = new int(); string _businessname; string _businessdescription; public int64 businessid { { return convert.toint64(_businessid.tostring()); } } public int businessno { { return _businessno; } set { _businessno = value; } } public string businessname { { return _businessname; } set { _businessname = value; } } public string businessdescription { { return _businessdescription; } set { _businessdescription = value; } }
i have code store data textbox session , list (there can many businesses uploaded database @ 1 time) - database irrelevent now. want display list of businesses stored session onto gridview: (b = class business)
list<business> businesscollection = new list<business>(); protected list<business> getbusinesses() { return (list<business>)session["business"]; } protected void btnrow_click(object sender, eventargs e) { if (session["business"] != null) businesscollection = (list<business>)session["business"]; business b = new business(); b.businessno = convert.toint32(txtbno.text); b.businessname = txtbname.text; b.businessdescription = txtbdesc.text; businesscollection.add(b); gridview1.datasource = getbusiness(); gridview1.databind(); }
it doesn't seem add list gridview, can help?
debug code , ensure if (session["business"] != null)
evaluates true.
if false adding list never returned getbusinesss
without more information can rewrite this:
list<business> businesscollection = new list<business>(); protected list<business> getbusinesses() { if (session["business"] == null) return businesscollection; else return (list<business>)session["business"]; } protected void btnrow_click(object sender, eventargs e) { business b = new business(); b.businessno = convert.toint32(txtbno.text); b.businessname = txtbname.text; b.businessdescription = txtbdesc.text; var currentcollection = getbusinesses(); currentcollection.add(b); gridview1.datasource = currentcollection; gridview1.databind(); }
i wouldn't this, seems need assignment session["business"]
don't want change logic of code.
update
i wanted update think wanted accomplish.
protected list<business> getbusinesses() { if (session["business"] == null) session["business"] = new list<business>(); return (list<business>)session["business"]; } protected void btnrow_click(object sender, eventargs e) { business b = new business(); b.businessno = convert.toint32(txtbno.text); b.businessname = txtbname.text; b.businessdescription = txtbdesc.text; var currentcollection = getbusinesses(); currentcollection.add(b); gridview1.datasource = currentcollection; gridview1.databind(); }
Comments
Post a Comment