相信DropDownList 控件不能触发SelectedIndexChanged 事件已经不是什么新鲜事情了,原因也无外乎以下几种:
1、DropDownList 控件的属性 AutoPostBack="True" 没有写;
2、DropDownList 控件的数据绑定没有放在if (!Page.IsPostBack) 里面;
3、DropDownList 控件选定项的value 值只有在发生变化时,才将信息发往服务器;
详细内容在六年前lovecherry的一篇博文讲解得很清楚,地址:http://www.cnblogs.com/lovecherry/archive/2005/04/26/145705.html
可是,如果以上问题都排除以后,DropDownList 控件仍然不能触发SelectedIndexChanged 事件的话,那会是什么原因呢?
很幸运,本人今天遇见了。并且最有意思的是:
在火狐(Firefox)中,DropDownList 控件能够触发SelectedIndexChanged 事件;
而在 IE 8中,不好意思,DropDownList 控件对选择项后毫无反应,就连Page_Load 事件都根本没有进去!
所以,错误根本不在DropDownList 控件本身的原因上。
折腾了快2个小时后,得出结论:
由于本人的程序使用了<frameset> 框架,并且DropDownList 控件所在的页面是使用 window.showModalDialog() 弹出的模态对话框,
所以,submit 默认会提交到新的页面窗口。
解决办法也很简单,只要在该页面窗口中的<head> 中添加如下代码:
<base target=_self></base>
即可!
其实,原因的根本是:
在使用 showModalDialog 的模态窗体中,必须加上<base target=_self></base> 才可以提交,否则就会弹出新的窗口了。
所以很多时候,错误的原因并不是我们认为的那样,换一个角度、换一种思路、换一种方式,可能更容易解决问题。
分享到:
相关推荐
DataList中如何响应DropDownList的SelectedIndexChanged事件
由于html的Select元素式样不更改,自已用Javascript写了DropDownList控件,支持分组.调用相当方便,不用更改原来的HTML结构.调用方法:DropDownList.bind(selectId).例如: --------------------------------- ...
下拉列表 DropDownList 控件,好东西和大家分享
GridView控件中DropDownList控件的绑定
DetailsView控件里的Dropdownlist控件添加点击事件代码与分析
扩展DropDownList控件和ListBox控件扩展DropDownList控件和ListBox控件扩展DropDownList控件和ListBox控件
ASP.NET中dropdownlist和GridView控件的用法,简单易学,一看就懂.
dropdownlist控件 “选项”添加示例 三种方法
选择省的同时选中对应的市,选择男时对应选中男头像。。。。。。
在网上找了很多重写DropDownList控件可输入,可选择DropDownList的代码,一直没有合适的,这个代码源件是从国外网站上找来的,本人测试过可用。现在发布在网上供大家学习使用。希望能帮助大家。代码已经进行过编译,...
扩展的DropDownList控件,Asp.net2.0
作为今后Web应用开发的主流技术之一,ASP.NET为我们提供了为数众多的具有强大功能的内置控件,利用这些...本文通过一个完整的实例详细介绍了DropDownList控件的联动技巧,并对联动过程中出现的问题给出相应的解决方法
自定义可编辑、可输入Dropdownlist控件
DropDownList控件实现省市联动(AJAX实现) . DropDownList控件实现省市联动(AJAX实现) . 程序描述http://blog.csdn.net/bdstjk/article/details/7516935
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { if (this.DropDownList1.SelectedIndex == 0) { this.DropDownList2.Items.Clear(); this.DropDownList2.Items.Add("南阳...
使用DropDownList控件实现省市信息联动,使用ajax技术,实现无刷新操作,欢迎下载!
用DropDownList控件绑定XML数据实现省市区三级联动
asp.net(C#)中DropDownList控件的二级联动,两种方法,第一种为普通方法,第二种为从数据库绑定DropDownList的。
用javascript(C#)操作 asp .net 的DropDownList控件
C# 控件 DropDownList控件和comboBox控件自动生成年月日 方便易用,对初学者,老程序员都有很大的帮助。