写的还行,转来大家看看

为什么DropDownList的SelectedIndexChanged事件触发不了?

为什么设置了DropDownList的AutoPostBack="True"还是不能触发SelectedIndexChanged事件?(摘抄加上自己的一些错误经历) 收藏

有人问

(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');");

}

测试可知。

上面文章摘自http://lovecherry.cnblogs.com/archive/2005/04/26/145705.html

今天很奇怪按照上面的测试了,都没有问题。于是很郁闷,把dropdownlist抠出来测试,就可以了,于是我把整个页面单独拿出来,一块一块抠掉,然后测试。终于让我发现了问题的根源,呵呵,其实是自己太粗心照成的。

由于页面中存在form标签,而我在母版里已经有form了。

<form ID="form3" action="" method="post" name="form3"> </form>

也就是说 存在2个form标签,导致ddl后台事件触发不了。

为什么DropDownList的SelectedIndexChanged事件触发不了的更多相关文章

  1. [小问题笔记(二)] 可能导致DropDownList的SelectedIndexChanged事件不触发的几种情况

    遇到SelectedIndexChanged事件没有触发,可以依次检查以下几种情况是否在程序中出现. 一.DropDownList的不同option设置了相同的value . 二.没有写 AutoPo ...

  2. DropDownList 控件的SelectedIndexChanged事件触发不了

    先看看网友的问题: 根据Asp.NET的机制,在html markup有写DropDownList控件与动态加载的控件有点不一样.如果把DropDownList控件写在html markup,即.as ...

  3. DropDownList 控件不能触发SelectedIndexChanged 事件

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

  4. GridView点击行触发SelectedIndexChanged事件

    1.在<% @Page ...... %>指令中添加 EnableEventValidation="false" 2.在RowDataBound事件中添加 protec ...

  5. 绑定下拉框时避免触发SelectedIndexChanged事件

    在从数据库读取数据集绑定到下拉框时会立即触发其SelectedIndexChanged事件造成异常,可对其SelectedIndexChanged事件采取先解除后附加的方法解决. cmbXl_gt.V ...

  6. ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法

    转载:http://blog.sina.com.cn/s/blog_629e606f01014d4b.html ComboBox最经常使用的事件就是SelectedIndexChanged.但在将Co ...

  7. VS2010 winform开发笔记---combox的SelectedIndexChanged事件及级联问题

    DisplayMember绑定需要显示的数据表字段, 而ValueMember绑定需要获取选择的项的值. 然后通过 combo.SelectedValue就可以取得选中项的值了. DisplayMem ...

  8. 【深入浅出Linux网络编程】 “基础 -- 事件触发机制”

    回顾一下“"开篇 -- 知其然,知其所以然"”中的两段代码,第一段虽然只使用1个线程但却也只能处理一个socket,第二段虽然能处理成百上千个socket但却需要创建同等数量的线程 ...

  9. Unity3D 自定义事件(事件侦听与事件触发)

    先来看下效果图,图中点击 Cube(EventDispatcher),Sphere(EventListener)以及 Capsule(EventListener)会做出相应的变化,例子中的对象相互之间 ...

随机推荐

  1. MySQL安装(以程序的方式启动)zip版

    电脑环境 win10 64位 企业版 1.解压zip文件到某路径下. 2.复制目录下的my-default.ini 改名字(my.ini) 3.打开my.ini [mysqld]下面加上charact ...

  2. uva 11168 - Airport

    凸包+一点直线的知识: #include <cstdio> #include <cmath> #include <cstring> #include <alg ...

  3. 配置PhpStorm调试PHP

    配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境(参考:Zend Studio 9.x + xampp + XDebug 调试环境安装详解),打开php.in ...

  4. 合并 ios 静态库

    合并 cordovaLib库: lipo -create 'Release-iphoneos/libCordova.a' "Release-iphonesimulator/libCordov ...

  5. Python Monkey patch猴子补丁

    monkey patch (猴子补丁)   用来在运行时动态修改已有的代码,而不需要修改原始代码. 简单的monkey patch 实现:[python] #coding=utf-8 def orig ...

  6. 江中微型统计分析软件V1.0版本完成

    中文名称:江中微型统计分析软件 英文名称: 项目名称:JXUTCMMSAS 项目地址:保密 在研究生最后历时1年的时间里,完成了江中微型统计分析软件V1.0,后续还在不断更新中,将自己的改进算法.机器 ...

  7. 一起啃PRML - 1.2.1 Probability densities 概率密度

    一起啃PRML - 1.2.1 Probability densities @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ 我们之前一直在讨论“谁取到 ...

  8. 使用SQL Server 2014内存数据库时需要注意的地方

    作者 王枫发布于2014年7月4日 本文从产品设计和架构角度分享了Microsoft内存数据库方面的使用经验,希望你在阅读本文之后能够了解这些新的对象.概念,从而更好地设计你的架构. 内存数据库,指的 ...

  9. Android --- px与dip换算

    px = (density/160)dpdensity一般为3个常用固定值240/160/120分别对应WVGA/HVGA/QVGA不知道知己做的分辨率对应的density是多少可以点击AVD Man ...

  10. python yeild使用

    闲的蛋疼又想起之前看到的文章,想想还是拿来复习一遍写进博客里. 原文链接:https://www.ibm.com/developerworks/cn/opensource/os-cn-python-y ...