相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种:

1、DropDownList 控件的属性 AutoPostBack="True" 没有写;

2、DropDownList 控件的数据绑定没有放在if (!Page.IsPostBack) 里面;

3、DropDownList 控件选定项的value 值只有在发生变化时,才将信息发往服务器;

有人问
(1)AutoPostBack="True"

<asp:DropDownList id="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>

(2)事件也注册了

this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);

(3)事件也写了

private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            Response.Write(this.DropDownList1.SelectedItem);
        }

怎么还是不能输出选定项?进行调试发现不能进入SelectedIndexChanged事件。

其实还有一种可能,就是你为DropDownList的不同option设置了相同的value

比如后台这么写:

if(!IsPostBack)
            {
                for(int i=0;i<10;i++)this.DropDownList1.Items.Add(new ListItem(i.ToString(),"same_value"));
            }

这样不会触发SelectedIndexChanged事件,修改成

if(!IsPostBack)
            {
                for(int i=0;i<10;i++)this.DropDownList1.Items.Add(new ListItem(i.ToString(),i.ToString()));
            }

一切些正常,根据msdn的解释:
ListControl.SelectedIndexChanged 事件
当列表控件的选定项在信息发往服务器之间变化时发生

这不同于js的onchange事件,改为

    if(!IsPostBack)
            {
                for(int i=0;i<10;i++)this.DropDownList1.Items.Add(new ListItem(i.ToString(),"same_value"));
                this.DropDownList1.Attributes.Add("onchange","alert('test');");
            }

测试可知。

转载于:https://www.cnblogs.com/xiaoma-qi/p/5508407.html

DropDownList 控件不能触发SelectedIndexChanged 事件相关推荐

  1. DropDownList 控件不能触发SelectedIndexChanged 事件的另一个原因

    相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...

  2. DropDownList控件不触发SelectedIndexChanged事件(转)

    DropDownList控件不触发SelectedIndexChanged事件(转) 相信DropDownList 控件不能触发SelectedIndexChanged 原因以下几种: 1.DropD ...

  3. (论坛答疑点滴)为什么设置了DropDownList的AutoPostBack=True还是不能触发SelectedIndexChanged事件?...

    有人问 (1)AutoPostBack="True" <asp:DropDownList id="DropDownList1" runat="s ...

  4. 为什么设置了DropDownList的AutoPostBack=True还是不能触发SelectedIndexChanged事件?

    有人问 (1)AutoPostBack="True" <asp:DropDownList id="DropDownList1" runat="s ...

  5. 在asp.net中为Web用户控件添加属性和事件

    在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的 ...

  6. C# ASP.NET DROPDOWNLIST控件绑定数据库,用DropDownList1.SelectedValue.ToString 读取的选项值始终是第一项的值的解决方法

    1.C# ASP.NET  DROPDOWNLIST控件绑定数据库,数据库内容如下 数据库有3个字段:id,name,map. 数据库只有1个表,表名为  table1 2.前台代码如下: <a ...

  7. Asp.Net GridView点击/选中单行触发SelectedIndexChanged事件

    // RowDataBound(行数据绑定事件) protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e ...

  8. DropDownList控件

    主要介绍:自定义数据.绑定数据库数据 DropDownList控件的使用跟CheckBoxList控件的使用差不多. 首先是前台代码(Default.aspx): 1 <asp:DropDown ...

  9. 让ModalPopupExtender的控制控件能响应服务器事件

    在微软的ajax实现中,一部分是服务端的,也是核心部分,用于控制整个请求的周期.这部分是与原服务器控件结合最紧密的.这部分会托管控件的请求事件. 而另一部分是在前一部分进行扩展的,虽然有些会使用异步与 ...

最新文章

  1. Java Class SecurityManager
  2. RabbitMq简单应用
  3. Glossary in Turbulence
  4. 燕赵志愿云如何认证_如何成为中国志愿服务网注册志愿者?操作秘籍!
  5. 在使用 Elasticsearch 时要注意什么?
  6. python 数据变化——n次多项式
  7. Visual Studio 远程调试正在运行的进程
  8. iOS多任务:suspend VS terminate
  9. centos识别移动硬盘U盘,需安装【ntfs-3g】
  10. 使用 TensorFlow 做文本情感分析
  11. Silverlight for KPI
  12. PHP使用MySQL数据库
  13. ADS软件仿真的问题
  14. 三维空间中点到点、点到直线、点到平面的距离计算
  15. 怎样检测人脸相似度(人脸识别技术)
  16. Paper | Multitask learning
  17. 直播购物平台应开发的功能
  18. 常用Linux命令,记录一下,避免搞忘记!
  19. 2655 切木头(二分)
  20. Canvas 指纹图片改成红色

热门文章

  1. 前端利用XMLHttpRequest读取本地文本文件
  2. 图像色彩通道分离与合并--opencv学习笔记
  3. Python调用海康工业相机:包含相机参数修改、彩色原图显示(不失真)
  4. Alevel学科成绩常见问题
  5. NTC(电池温度检测)
  6. python 词云生成鹿鼎记关键词
  7. android listview 动态删除行,[已解决!]关于listview添加了N行之后,删除某一行后,后面的行号如何动态变化?...
  8. Centos7 服务器安装锐速教程
  9. vs 错误LNK2019 无法解析的外部符号 __imp__PathFileExistsA@
  10. NIL、NIL、NULL和NSNULL区别