为什么DropDownList的SelectedIndexChanged事件触发不了
写的还行,转来大家看看
为什么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事件触发不了的更多相关文章
- [小问题笔记(二)] 可能导致DropDownList的SelectedIndexChanged事件不触发的几种情况
遇到SelectedIndexChanged事件没有触发,可以依次检查以下几种情况是否在程序中出现. 一.DropDownList的不同option设置了相同的value . 二.没有写 AutoPo ...
- DropDownList 控件的SelectedIndexChanged事件触发不了
先看看网友的问题: 根据Asp.NET的机制,在html markup有写DropDownList控件与动态加载的控件有点不一样.如果把DropDownList控件写在html markup,即.as ...
- DropDownList 控件不能触发SelectedIndexChanged 事件
相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种: 1.DropDownList 控件的属性 AutoPostBac ...
- GridView点击行触发SelectedIndexChanged事件
1.在<% @Page ...... %>指令中添加 EnableEventValidation="false" 2.在RowDataBound事件中添加 protec ...
- 绑定下拉框时避免触发SelectedIndexChanged事件
在从数据库读取数据集绑定到下拉框时会立即触发其SelectedIndexChanged事件造成异常,可对其SelectedIndexChanged事件采取先解除后附加的方法解决. cmbXl_gt.V ...
- ComboBox绑定数据源时触发SelectedIndexChanged事件的处理办法
转载:http://blog.sina.com.cn/s/blog_629e606f01014d4b.html ComboBox最经常使用的事件就是SelectedIndexChanged.但在将Co ...
- VS2010 winform开发笔记---combox的SelectedIndexChanged事件及级联问题
DisplayMember绑定需要显示的数据表字段, 而ValueMember绑定需要获取选择的项的值. 然后通过 combo.SelectedValue就可以取得选中项的值了. DisplayMem ...
- 【深入浅出Linux网络编程】 “基础 -- 事件触发机制”
回顾一下“"开篇 -- 知其然,知其所以然"”中的两段代码,第一段虽然只使用1个线程但却也只能处理一个socket,第二段虽然能处理成百上千个socket但却需要创建同等数量的线程 ...
- Unity3D 自定义事件(事件侦听与事件触发)
先来看下效果图,图中点击 Cube(EventDispatcher),Sphere(EventListener)以及 Capsule(EventListener)会做出相应的变化,例子中的对象相互之间 ...
随机推荐
- java 常用基本数据类型的默认值
在使用基本数据类型作为类成员的时候,有时只初始化了而没有给变量赋值,那么此时,java会给你的变量赋一个默认初始值. boolean false char '/ ...
- JVM 学习笔记
1. JAVA类分为三类: 1.1 系统类 (用系统类加载器加载bootstrap ClassLoader) 1.2 扩展类 (用扩展类加载器加载Ext ClassLoader) 1. ...
- Visual Studio快捷键小结
工欲善其事必先利其器,这句话相信大家都听说过.利其器,就是我们先得有个神器,神器就是VS(号称宇宙第一IDE),有了神奇不会用也是白搭,就像你有了倚天剑和屠龙刀你不会使,它也就是废铁(假设它们是铁做的 ...
- 两种方法,获取磁盘剩余空间--PYTHON
import ctypes import os import platform import sys def get_free_space_mb(folder): """ ...
- C#学习笔记二:C#程序结构
从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...
- log.isDebugEnabled()的使用
转自: http://huangxx.iteye.com/blog/190693 在使用log4j,common-log这样的log框架时,发现很多代码中这样写 if (log.isDebugEn ...
- 谈谈SpringMVC Validation
2016-10-12 19:26:08,897 [INFO ] [http-nio-8032-exec-1] HttpHeaderValidator:84 - HttpHeaderValidator. ...
- 关于Json传递的日期/Date(数字)/解析
在将DateTime类型的数据Json后传到前台展示,出现如下效果 ,在客户端如何解析呢?在jquery easyui 的字段中加一个格式化的函数调用. { field: 'CreateTime' ...
- ELK之topbeat部署
topbeat定期收集系统信息如每个进程信息.负载.内存.磁盘等等,然后将数据发送到elasticsearch进行索引,最后通过kibana进行展示. 下面是具体的安装及配置步骤: 1.安装topbe ...
- 从零开始学习ASP.NET MVC 1.0
转自:http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/ASPNET-MVC-1.html <从零开始学习ASP.NET MVC 1.0& ...