客户端用JavaScript填充DropDownList控件 服务器端读不到值

填充没有任何问题,但是在服务器端却取不出来下拉表中的内容。页面代码如下。
复制代码 代码如下:

<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" /><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>

结束。

时间: 2024-09-27 18:36:20

客户端用JavaScript填充DropDownList控件 服务器端读不到值的相关文章

客户端用JavaScript填充DropDownList控件 服务器端读不到值_实用技巧

填充没有任何问题,但是在服务器端却取不出来下拉表中的内容.页面代码如下. 复制代码 代码如下: <form id="form1" runat="server"> <div> <h3>看看用js填充的dropdownlist控件在服务器端能读出来吗?</h3> 三个级联下拉列表框: <asp:DropDownList runat="server" id="bigTypeList&quo

用javascript为DropDownList控件下拉式选择添加一个Item至定义索引位置_实用技巧

用Javascript为DropDownList控件下拉式选择添加一个Item至定义索引位置. 准备数据,创建一个对象,将是存储DropDownList控件每个Item数据. 复制代码 代码如下: Imports Microsoft.VisualBasic Namespace Insus.NET Public Class Catalog Private _ID As Integer Private _Name As String Public Property ID As Integer Get

某个页面用Javascript window.open打开另个页面填写数据提交关闭时刷新父页面,父页面DropDownList控件在绑定刚新添的数据怎么做?

问题描述 TEMP1.aspx页面有个DropDownList控件初始的时候邦定数据,后面有个按钮点击用JavaScirpwindow.open()方法打开TEMP2.aspx页面,填写数据后提交保存关闭,TEMP1.aspx页面的DropDownList控件再重新邦定,把刚填的数据显示出来.怎么做,谢谢大家给个好办法! 解决方案 解决方案二:在JavaScirpwindow.open()把窗口的模式设为无弹出式对话框的模式,保存关闭后temp1.aspx会刷新这样再重新绑定DropDownLi

数据绑定技术—如何将表中的列绑定到DropDownList控件

void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { // 创建数据库连接字符串和SQL语句 string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"]; string query = "SELECT * FROM Products"; // 执行数据库

在GridView控件的TemplateField字段中有一DropDownList控件,该DropDownList控件有一事件处理程序。要求:用户选择某一条目(如c)后,c仍显示在DropDownList控件中。怎么做?

问题描述 各位高手: 我在GridView控件中添加一TemplateField字段,然后在该字段的HeaderTemplate中添加一DropDownList控件,再为该DropDownList控件添加一事件处理程序.假设该DropDownList控件有a.b.c.d这4个选项,现在想达到这样的效果:用户选择某一条目(如c)后,c仍显示在该DropDownList控件中.问题是:事件处理程序执行完毕后,DropDownList控件所显示的条目又回到第一个a,而不是c.为什么?请指教,谢谢! 解

怎么将这样的数据绑定到Dropdownlist控件上

问题描述 我数据表里有个字段是这样的10#,11#,12#,13#请教大家怎么将上述字符串按,分开绑定到Dropdownlist控件上,就是可以在Dropdownlist控件上可以分别选择10#或11#或12#或13# 解决方案 解决方案二:SqlConnectionconn=newSqlConncetion("....");conn.open();SqlCommadncmd=newSqlCommad("select*from表名",conn)SqlDataRead

求方法:web网页开发,想把dropdownlist控件和gridview控件的某一列绑定

问题描述 求方法:web网页开发,想把dropdownlist控件和gridview控件的某一列绑定 先上图: 实现老师查询选择这门课的学生功能: 首先老师可能会教很多课,所以需要选择所教授的课程,比如c语言,然后gridview就自动把选择c语言的学生显示出来. 我不知道是不是用dropdownlist控件,如果不是,烦请大神告诉我设计思路,感激不尽. 解决方案 dropdownlist下拉触发回发,在SelectedIndexChanged中重新根据条件查询绑定gridviewhttp://

javascript控制页面控件隐藏显示的两种方法

javascript|控件|控制|显示|页面 javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: document.all["PanelSMS"].style.visibility="hidden"; document.all["PanelSMS"].style.visibility="visible"; 方法二: document.all["PanelSMS

在ASP.NET中用三个DropDownList控件方便的选择年月日

asp.net|控件 aspx页面上有三个DropDownList控件, DropDownList1 表示年,DropDownList2表示月,DropDownList3表示天:注意用将这三个DropDownList控件的AutoPostBack属性设为True. 用户可以方便地选择年月日,并且每月的日期会随着用户选择不同的年,月而发生相应的变化 其后台cs文件代码如下: private void Page_Load(object sender, System.EventArgs e) { Da