c# - How can pass values between events? -


i've dropdownlist , button inside datalist. choose number of items dropdownlist , pass button event send database.

but i'm unable so. problem variable selectedvalue gets assigned inside dditem_change, although i've declared globally.

how can access value in datalist1_itemcommand(object source, datalistcommandeventargs e).

here code dropdown list change

public void dditem_change(object sender, eventargs e)     {         var ddllist = (dropdownlist)sender;         selectedvalue = ((dropdownlist)ddllist.namingcontainer.findcontrol("drplist")).selectedvalue;     } 

this code public void datalist1_itemcommand

public void datalist1_itemcommand(object source, datalistcommandeventargs e) {     if(e.commandname == "add")     {         if (session["user"] == null)         {             response.write("<script>alert('login first!!!');</script>");          }         else         {              string[] ar = e.commandargument.tostring().split(',');             sqlconnection con = new sqlconnection();             con.connectionstring = "data source=dtpxp-77a;initial catalog=practice;integrated security=true";             con.open();             sqlcommand cmd = new sqlcommand("insert cart values(@username,@prodname,@price,@stock)", con);             cmd.parameters.add("@username", sqldbtype.varchar);             cmd.parameters.add("@prodname", sqldbtype.varchar);             cmd.parameters.add("@price", sqldbtype.int);             cmd.parameters.add("@stock", sqldbtype.int);             cmd.parameters["@username"].value = session["user"].tostring();             cmd.parameters["@prodname"].value = ar[0].tostring();             cmd.parameters["@price"].value = int.parse(ar[1]);             cmd.parameters["@stock"].value = //selectedvalue not accessible//             cmd.executenonquery();             response.write("<script>alert('successfully added');</script>");          }     } }     

this result of asp.net page lifecycle. when select drop down menu causes postback in store selectedvalue variable. when trigger button causes another postback results in selectedvalue being lost page re-created.

in order persist value between postbacks need store somewhere. example, use session storage e.g.

protected void page_load(object sender, eventargs e) {     if (!page.ispostback)     {         selectedvalue = (string)session["selectedvalue"];     } }  public void dditem_change(object sender, eventargs e) {     var ddllist = (dropdownlist)sender;     session["selectedvalue"] = ((dropdownlist)ddllist.namingcontainer.findcontrol("drplist")).selectedvalue; }  public void datalist1_itemcommand(object source, datalistcommandeventargs e) {     // selectedvalue should accessible } 

considering how small data is, , given in-fact view specific, might better placed in viewstate.


Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -