クライアントがJavaScriptでDropDownListコントロールサーバの端に充填しても値が読めません.
2107 ワード
充填には問題はありませんが、サーバー側ではプルダウンテーブルの内容が取り出せません.ページコードは以下の通りです.
この値はどうやって得られますか?Request.Form[コントロールのクライアントID]を使うしかないです.下記のコードに示します.
テスト用のバックグラウンドコードは以下の通りです.
protected void OK_Click(object sender, EventArgs e)
{
ListItem[] array = new ListItem[3];
array[0] = bigTypeList.SelectedItem; // null
array[1] = typeList.SelectedItem; // null
array[2] = smalltypeList.SelectedItem; // null
}
クライアントが充填したDropDownListコントロールの値をサーバ端で読み出すと、全く何も読みません.DropDownList.Items.soountは0で、DropDownList.SelectedItemはnullです.この値はどうやって得られますか?Request.Form[コントロールのクライアントID]を使うしかないです.下記のコードに示します.
string s=Request.Form[typeList.ClientID];
添付:ページのJavaScriptファイル.
<br>$(function () {
<br>var bigId = '#<%=bigTypeList.ClientID%>';
<br>var mediumId = '#<%=typeList.ClientID%>';
<br>var smallId = '#<%=smalltypeList.ClientID%>';
<br>$(bigId).cascadingDropDown(mediumId,
<br>'../Services/AutoTypeService.asmx/getAutoType',
<br>{ valueMember: 'id', displayMember: 'name', cascadingArgName: 'parent' });
<br>$(mediumId).cascadingDropDown(smallId,
<br>'../Services/AutoTypeService.asmx/getSubAutoType',
<br>{ valueMember: 'id', displayMember: 'name', cascadingArgName: 'parent' });
<br>});
<br>
終了します.