客户端用JavaScript填充DropDownList控件 服务器端读不到值
2017-02-22 11:44
519 查看
填充没有任何问题,但是在服务器端却取不出来下拉表中的内容。页面代码如下。
<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>
<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>
相关文章推荐
- 客户端用JavaScript填充DropDownList控件,服务器端读不到值
- 客户端用JavaScript填充DropDownList控件 服务器端读不到值
- 客户端用JavaScript填充DropDownList控件 服务器端读不到值
- jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
- 给服务器端DropDownList控件添加客户端onchange事件
- 客户端的JavaScript脚本中获取服务器端控件的值 及ID
- 在客户端用javascript修改过ASP.NET的DropDownList 控件,如何才能让它将修改后的内容回发
- 给服务器端DropDownList控件添加客户端onchange事件
- 给服务器端DropDownList控件添加客户端onchange事件
- 给服务器端DropDownList控件添加客户端onchange事件
- jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
- 客户端的JavaScript脚本中获取服务器端控件的值 及ID
- 客户端技术分页控件javascript+css,可用于任何服务器端技术
- 客户端的JavaScript脚本中获取服务器端控件的值 及ID
- 前台用javascript改变dropdownlist控件的值,如何在服务器端得到该值?
- [转] 客户端的JavaScript脚本中获取服务器端控件的值 及ID
- 如何编写JavaScript脚本,在客户端获取或变更服务器端控件的值及ID
- net5:自定义验证控件服务器端验证与客户端验证的使用
- asp.net相关控件的客户端及服务器端的禁用和启用
- ASP.NET 服务器端控件响应客户端事件