博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
客户端用JavaScript填充DropDownList控件,服务器端读不到值
阅读量:4545 次
发布时间:2019-06-08

本文共 1923 字,大约阅读时间需要 6 分钟。

版权所有:基础软件。作者邮箱:sun.j.l.studio@gmail.com。本文首发于 http://www.cnblogs.com/FoundationSoft。文章转载请保持此版权信息并注明出处。

今天遇到一个奇怪的问题,某一页面需要使用三级级联下拉列表框。为提高用户体验,采用jQuery的cascadingDropDown插件调用后台Web Services来实现ajax填充。填充没有任何问题,但是在服务器端却取不出来下拉表中的内容。页面代码如下。

 

 
<
form
id
="form1"
runat
="server"
>
<
div
>
<
h3
>
看看用js填充的dropdownlist控件在服务器端能读出来吗?
</
h3
>
三个级联下拉列表框:
<
asp:DropDownList
runat
="server"
id
="bigTypeList"
Width
="150"
>
</
asp:DropDownList
>
<
asp:DropDownList
runat
="server"
id
="typeList"
Width
="150"
>
</
asp:DropDownList
>
<
asp:DropDownList
runat
="server"
id
="smalltypeList"
Width
="150"
>
</
asp:DropDownList
>
<
br
/>
<
asp:Button
runat
="server"
Text
="读取下拉表"
ID
="OK"
onclick
="OK_Click"
/><
br
/>
你选的是:
<
asp:Label
runat
="server"
Text
="Label"
ID
="label1"
></
asp:Label
>
</
div
>
</
form
>

用来测试的后台代码如下。

 

 

 
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.Count为0,DropDownList.SelectedItem为null。

那么,怎么得到这个值呢,只好使用Request.Form["控件的客户端ID"]了。如下代码所示。

 

 
string
s
=
Request.Form[typeList.ClientID];

附:页面中的JavaScript文件。

 

 

 
 
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
$(
function
() {
var
bigId
=
'
#<%=bigTypeList.ClientID%>
'
;
var
mediumId
=
'
#<%=typeList.ClientID%>
'
;
var
smallId
=
'
#<%=smalltypeList.ClientID%>
'
;
$(bigId).cascadingDropDown(mediumId,
'
../Services/AutoTypeService.asmx/getAutoType
'
,
{ valueMember:
'
id
'
, displayMember:
'
name
'
, cascadingArgName:
'
parent
'
});
$(mediumId).cascadingDropDown(smallId,
'
../Services/AutoTypeService.asmx/getSubAutoType
'
,
{ valueMember:
'
id
'
, displayMember:
'
name
'
, cascadingArgName:
'
parent
'
});
});
<
/
script>

结束。

 

转载于:https://www.cnblogs.com/FoundationSoft/archive/2010/09/12/1824527.html

你可能感兴趣的文章
IOS蓝牙开发模块
查看>>
poj2728 最优比率生成树
查看>>
Android开发 打开已存在的项目(以虹软人脸识别sdk的demo为例)
查看>>
身份证号码最后一位校检码的计算公式
查看>>
使用 iTextSharp 生成 PDF 表格
查看>>
sql 查出一张表中重复的所有记录数据
查看>>
IIS 上传大文件 30MB 设置限制了上传大小
查看>>
vue2.0结合Element实现select动态控制input禁用
查看>>
【Codeforces Round #455 (Div. 2) A】Generate Login
查看>>
【Codeforces 476C】Dreamoon and Sums
查看>>
【codeforces 505C】Mr.Kitayuta,the Treasure Hunter
查看>>
混合应用 微信登录授权 微信登录认证失败 ios PGWXAPI错误-1 code:-100 / 安卓 message:invalid appsecret innerCode:40125...
查看>>
MSSQL按分页前去盘查了局的存储进程
查看>>
运用centosplus来更新你的CentOS
查看>>
wxDownload Fast 0.4.5
查看>>
<实训|第十天>从底层解释一下U盘内存为什么变小的原因附数据恢复的基本原理...
查看>>
测试Windows Live Writer插件
查看>>
常用正则封装,积少成多
查看>>
文件下载工具类
查看>>
Python 定义自己的常量类
查看>>