2009-07-09 3 views
1

私はアプリケーション内にカスケードDropDownListを持っています。カスケードドロップダウンリストの内容は、AJAX/JSONを使用してコンテンツを取得するためにデータベースにアクセスする必要がないほど十分に小さいので、私はちょうどこれのようなクライアント側のjavascriptでこれをやっています(これはデータ):私は、私が選択した値を取得することはできませんサーバー側でDropDownListコントロールにアクセスしようとするとクライアントサイドのJavaScriptの変更後にDropDownListの値を取得する

 

var val = typeList.value; 
var applyTimeList = document.getElementById('clientid'); 
for (var q=applyTimeList.options.length; q>=0; q--) 
    applyTimeList.options[q]=null; 

if (val == 'AutoRoute') 
{ 
    myEle = document.createElement('option') ; 
    myEle.value = 'SOP Processed'; 
    myEle.text = 'SOP Processed'; 
    applyTimeList.add(myEle) ; 
} else if (val == 'Tier1Retention') { 
    myEle = document.createElement('option') ; 
    myEle.value = 'Study Processed'; 
    myEle.text = 'Study Processed'; 
    applyTimeList.add(myEle); 
    myEle = document.createElement('option') ; 
    myEle.value = 'Study Restored'; 
    myEle.text = 'Study Restored'; 
    applyTimeList.add(myEle); 
    myEle = document.createElement('option') ; 
    myEle.value = 'Study Archived'; 
    myEle.text = 'Study Archived'; 
    applyTimeList.add(myEle) ; 
} 
 

、それは常にインデックスとして0を返します。

私は取得できますか
 

int index = RuleApplyTimeDropDownList.SelectedIndex; 
 

変更後にサーバー側で選択された値?

答えて

2

クライアント側で追加された値はViewStateに含まれないため、DropDownListから値を取得できます。これを行うための適切な方法は次のとおりです。あなたが

var applyTimeList = document.getElementById('clientid'); 
var value = applyTimeList.options[applyTimeList.selectedIndex].value; 

、あなたはクライアント側からの値をしたいと言っていますが、サーバー側を意味するならば、あなたはからそれを選択する必要が

 

string selectedVal = Request[RuleApplyTimeDropDownList.UniqueID]. 
 
1

スティーブWが示すようにフォーム。

+0

フィードバックのおかげで、私はクライアント側ではなく、サーバー側で選択した値を取得する方法を検討するつもりでした。私は投稿を編集しました。 –