DropDownList的使用方法
来源:互联网 发布:服装大师绘图仪软件 编辑:程序博客网 时间:2024/05/17 10:43
DropDownList省市联动
1、通常的做法是:
①添加ddl_Province、ddl_City
②对ddl_Province进行数据绑定
ddl_Province..DataSource = dt;
ddl_Province.DataTextField = “ProvinceName”;
ddl_Province.DataValueField = “ProvinceCode”;
③设置ddl_Province的AutoPostBack=”True”
OnSelectedIndexChanged=”ddl_City_SelectedIndexChanged”
④在ddl_Province的OnSelectedIndexChanged事件对应的方法中根据ddl_Province的当前值对ddl_City进行绑定
protected void ddl_City_SelectedIndexChanged(object sender, EventArgs e){ BindCity();}
这种做法可以实现下拉菜单联动的效果,但是由于ddl_Province设置了
AutoPostBack=”True” 所以每次修改ddl_Province的值时页面都会刷新,这样体验很不好。
2、改进方法
①添加两个下拉菜单
<td> 省份: </td> <td> <asp:DropDownList ID="ddl_Province" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl_Province_SelectedIndexChanged"> </asp:DropDownList> </td> <td> 地市: </td> <td> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="ddl_City" runat="server"> </asp:DropDownList> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="ddl_Province" EventName="SelectedIndexChanged" /> </Triggers> </asp:UpdatePanel> </td>
②对ddl_Province进行数据绑定
ddl_Province..DataSource = dt;
ddl_Province.DataTextField = “ProvinceName”;
ddl_Province.DataValueField = “ProvinceCode”;
③设置ddl_Province的AutoPostBack=”True”
OnSelectedIndexChanged=”ddl_City_SelectedIndexChanged”
④在ddl_Province的OnSelectedIndexChanged事件对应的方法中根据ddl_Province的当前值对ddl_City进行绑定
protected void ddl_City_SelectedIndexChanged(object sender, EventArgs e){ BindCity();}
主要的过程没变化,重点就是ddl_City的创建过程发生了改变,在UpdatePanel中可以避免页面整体刷新。
获取DropDownList状态
在前台使用DropDownList控件的Value值,方法如下。
方法一:
在后台声明变量paramName来保存下拉菜单的状态,
前台使用<%:paramName%>来获取状态值。
某页面有三个下拉菜单分别为ddl_Car、ddl_Mouse、ddl_Notebook,
当三个下拉菜单都设置AutoPostBack=”True”时,
protected string car;protected string mouse;protected string notebook;protected void Page_Load(object sender, EventArgs e){}protected void ddl_Car_SelectedIndexChanged(object sender, EventArgs e){ //此时mouse、notebook值为null car = ddl_Car.SelectedValue;}protected void ddl_Mouse_SelectedIndexChanged(object sender, EventArgs e){ //此时car、notebook值为null mouse = ddl_Mouse.SelectedValue;}protected void ddl_Notebook_SelectedIndexChanged(object sender, EventArgs e){ //此时car、mouse值为null notebook = ddl_Notebook.SelectedValue;}
当你修改一个下拉菜单中的值时,后台中其他两个下拉菜单对应的变量的值就会变为null,因为AutoPostBack=”True”用户修改下拉菜单的值时页面刷新,car、mouse、notebook的值都被重置null,用户修改的哪个下拉菜单就会去执行对应的SelectedIndexChanged方法,在方法中向对应的变量赋值,但其他变量值仍未null。
解决方法:
我们可以在所有下拉菜单的SelectedIndexChanged方法中,对car、mouse、notebook均进行赋值这样就不会出现其他变量值为null的情况了。
虽然这种方法能达到目的,但是代码冗杂实际效果也不太好,在此不推荐使用。
方法二:用jquery的方法获DropDownList取控件的值
如果用jquery的方法获取下拉菜单的值时,不用设置AutoPostBack=”True”
和OnSelectedIndexChanged=”******_SelectedIndexChanged”(如果需要菜单联动
另当别论),页面也不会整体刷新,体验还不错,推荐使用
var car=$("#ddl_Car").val();var mouse=$("#ddl_Mouse").val();var notebook=$("#ddl_Notebook").val();
- DropDownList的使用方法
- Flex4 DropDownList的简单使用方法
- ASP.NET------DropDownList的使用方法
- DropDownList使用方法
- MVC中Html.DropDownList的使用方法
- MVC4 下DropDownList使用方法
- MVC3 Html.DropDownList使用方法总结
- DropDownList.SelectedItem与DropDownList.SelectedValue的区别
- DropDownList.SelectedItem与DropDownList.SelectedValue的区别
- DropDownList 的数据绑定
- dropdownlist的解决心得
- DropDownList的排序
- DropDownList控件的使用
- DropDownList控件的使用
- 树型dropdownlist的绑定
- DropDownList的一些东东
- 两个dropdownlist 的关联
- DropDownList的AppendDataBoundItems属性
- 解决AFN不能使用GCD调度组的问题
- 利用bash shell批量修改文件名
- Android学习笔记整理(纪念)
- 【EA使用教程】 EA 源码生成UML类图 错误: 遇到未知的符号
- 如何在Linux系统下设置Tomcat自启动
- DropDownList的使用方法
- struts国际化
- SparseArrayCompat API
- WebStorm调试404等各种错误解决方案:关闭Chome缓存
- Linux服务器中实现文件夹可写不可删除
- 手写数字识别系统之倾斜矫正
- android视图动画
- 各种计算机语言的经典书籍
- android 获取设备唯一标识