dropdown和dropdownlist_list的clear方法

dropdown和dropdownlist_list的clear方法DropDownList的详细使用方法,希望对大家有用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DEDECMS万能标签{dede:sql}使用教程详解

    DEDECMS万能标签{dede:sql}使用教程详解

    2021年9月24日
    46
  • Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略[通俗易懂]

    Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略[通俗易懂]Py之cv2:cv2库(OpenCV,opencv-python)的简介、安装、使用方法(常见函数、方法等)最强详细攻略目录关于OpenCV简介OpenCV应用领域1、计算机视觉领域方向2、计算机操作底层技术安装OpenCV的的两种方法T1、使用whl文件法T2、直接命令法T3、Anaconda环境下安装OpenCV常见函数、方法0、基本库函数1、图像基本运算2、Image.open和cv2.imread的区别及其转换相关文章:Py

    2022年6月23日
    37
  • mysql查询语句执行过程及运行原理命令_MySQL常用命令

    mysql查询语句执行过程及运行原理命令_MySQL常用命令Mysql查询语句执行原理数据库查询语句如何执行?DML语句首先进行语法分析,对使用sql表示的查询进行语法分析,生成查询语法分析树。 语义检查:检查sql中所涉及的对象以及是否在数据库中存在,用户是否具有操作权限等 视图转换:将语法分析树转换成关系代数表达式,称为逻辑查询计划; 查询优化:在选择逻辑查询计划时,会有多个不同的表达式,选择最佳的逻辑查询计划; 代码生成:必须将逻辑查…

    2025年6月9日
    2
  • HttpClient 4 和 HttpClient 3 设置超时

    HttpClient 4 和 HttpClient 3 设置超时HttpClient4:连接超时:httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,60000);//或者HttpConnectionParams.setConnectionTimeout(params,6000);

    2022年7月22日
    12
  • 【罗盘时钟—使用html,js,css编写。附源代码及效果】

    【罗盘时钟—使用html,js,css编写。附源代码及效果】代码罗盘效果.html<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-UA-Compatible”content=”ie=edge”><title>js罗盘时钟

    2022年6月28日
    33
  • Oracle函数写法和举例[通俗易懂]

    Oracle函数写法和举例[通俗易懂]1、declare声明变量后的每个变量都要加分号;2、所有的语句结束和sql语句结尾,都要加分号;3、变量赋值variable:=’1234’如:recordId:=’1234′;4、插入列数据获取:new.colname如:new.exec_record_id5、sql查询写入变量selectcolnameintovariable如:selectverify_dateintoexecDatefromorders_executed_rec…

    2022年7月17日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号