• 締切済み

C#(csファイル)とjavascriptとのデータ連携

現在.NET C#で開発しています。 cs側でSQL文を発行して取得したデータをaspx側で使用したいのですが、連携の仕方がわかりません。 具体的には、 ---------------------------------------------------------------- *コンボボックス1,2,3使用 (1)SQL文実行(cs側) (2)SQL文で取得したデータをjavascript(aspx側)で使用するために値引渡し (3)コンボボックスにバインド(コンボボックス1のみ) (4)コンボボックス1で選択した値により、コンボボックス2の内容をjavascriptで動的に変更 ---------------------------------------------------------------- といったことがやりたいのです。 ちなみにコンボボックスの内容を変更する際にpostbackしたくないので、fristload時にコンボボックス1,2,3に表示する予定のデータを一度に全て取得したいと考えています。 コンボボックスの内容を動的に変更するにはデータが入った変数が必要だと考えているのですが、javascriptで宣言した変数にどうやってcs側からデータを格納すればいいのか、といったことがわかりません。 初歩的な質問で申し訳ないのですが、 ご助言お願いします。

みんなの回答

noname#26224
noname#26224
回答No.1

Visual Studio2003と2005では大きく処理が違うので明記すること。 とりあえず、どちらでも動くと思うが...たぶん。 問題は、ポストバックしたときにSelect2の値が選択した値が取得できない...。 ...aspx側 <input type=hidden id=option1 runat=server> <input type=hidden id=option2 runat=server> <input type=hidden id=option3 runat=server> <script language=javascript> function fncChgSelect(strValue){  var aa = '';  if(strValue == '1')   aa = document.getElementByID('option1').value;  else if(strValue == '2')   aa = document.getElementByID('option2').value;  else   aa = document.getElementByID('option3').value;  var ddl = document.getElementByID('Select2');  while(ddl.options.length != 0)   ddl.remove(0);  var bb = aa.split(';');  for(i=0;i<bb.length;i++){   if(bb[i]='') continue;   ddl.add(new Option(bb[i]));  } } </script> <select id=Select1 onchange="fncChgSelect(this.value);" runat=server>  <option value=1>1</option>  <option value=2>2</option>  <option value=3>3</option> </select> <select id=Select2 runat=server></select> ...C#側 private void Form_Load(){       :  option1.value = ここにDBから取得した値を';'で連結する!  option2.value = ここにDBから取得した値を';'で連結する!  option3.value = ここにDBから取得した値を';'で連結する!       : }