asp.net - Calling a javascript method with arguments / values from code-behind -


is there way me call javascript method code-behind takes 2 arguments/values? please check following code:

private void ddl_eval_selectedindexchanged (object sender, system.eventargs e) {      dteval = new datatable();     dteval = data.getevaluation2();     dataview dveval = dteval.defaultview;      string xmldoc = string.empty;      foreach (datarowview drveval in dveval)     {         if (drveval.row["evaluationid"].tostring() == ddl_eval.selectedvalue.tostring())         {             xmldoc = drveval.row["evalanswers"].tostring();         }     }      xdocument xdoc = new xdocument();     xdoc = xdocument.parse(xmldoc);      foreach (xelement child in xdoc.root.elements("answer"))     {         //response.write(child.attribute("item").value + " " + child.value + "<br />");          //this need put code can send value         //of attribute "item" , value of child node itself.      }  } 

and here's xml string:

<answers>   <answer item="ddl_3">a</answer>   <answer item="ddl_8">a</answer>   <answer item="ddl_13">y</answer>   <answer item="ddl_16">y</answer>   <answer item="ddl_19">y</answer>   <answer item="ddl_22">n</answer>   <answer item="ddl_26">y</answer>   <answer item="ddl_30">n</answer>   <answer item="ddl_34">y</answer>   <answer item="ddl_38">n</answer>   <answer item="ddl_42">starlight</answer> </answers> 

and page wherein want javascript change selected values of select controls. screenshot

is possible? want send 2 arguments/values javascript can change selected values of <select> controls have on page.

changing data list

ddl_eval.items.clear()  foreach (xelement child in xdoc.root.elements("answer"))     {        ddl_eval.items.add(child.value,child.attribute("item").value);     } 

you don't need javascript -- code this:

response.write("<answers>")  foreach (xelement child in xdoc.root.elements("answer"))     {        response.write(@"<answer item="""+child.value+@""">"+child.attribute("item").value+"</answer>");     }  response.write("</answers>"); 

also, modern html style have tags lower case (xml requires it.)


you should use this.page.registerclientscriptblock(key, script);

it might this:

 this.page.registerclientscriptblock("some unique name",@" <script language=""javascript"">    alert(""hi, i'm client script!""); </script>"); 

Comments