我在应用程序中有一个级联的DropDownList。级联下拉列表的内容足够小,不需要使用AJAX / JSON去数据库获取内容,我只是在客户端javascript这样做(这是一个子集数据):
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) ;
}
当我尝试访问服务器端的DropDownList时,我无法获得选择的值,它总是返回0作为索引:
int index = RuleApplyTimeDropDownList.SelectedIndex;
如何在修改后获取服务器端选择的值?
答案 0 :(得分:2)
可以从DropDownList检索该值,因为客户端添加的值不在ViewState中。正确的方法是:
string selectedVal = Request[RuleApplyTimeDropDownList.UniqueID].
答案 1 :(得分:1)
你说你想要客户端的价值,
var applyTimeList = document.getElementById('clientid');
var value = applyTimeList.options[applyTimeList.selectedIndex].value;
但如果你的意思是服务器端,那么你需要从史蒂夫W所示的表格中选择它。