asp:DropDownList 控件 设置AutoPostBack=true 但是OnSelectedIndexChanged仍不触发的问题。

本文介绍了一个关于ASP.NET页面中DropDownList控件自动回发失效的问题及解决过程。当页面包含多个表单且ID相同时,会导致DropDownList的OnSelectedIndexChanged事件无法正常触发。通过调整表单ID避免重复后,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象

本来在main.aspx页面上用了1个 dropdownlist显示主信息 要实现 选择一个后  在ListBox中显示其明晰  。

设置dropdownlist 的 AutoPostBack后 起了作用 。

但是后来在页面加了些东西(判断是否已经是登陆成功 ,就是防止用户直接敲入该页面的url), 现在OnSelectedIndexChanged不自动触发了 只有点了页面上其他的会post的控件 才会执行。

 

解决

经过对页面源代码(在浏览器中选择查看源代码)分析 发现出现了2个<form>  并且ID是一样的form1  。

据此查了新加入的那部分判断 (在该页面的Page_Load中), 有1行 Server.Execute("judge.aspx");

然后看了judge.aspx的页面源文件 发现里边的<form id = "form1">和main.aspx中的<form id="form1">一样 , 修改这里的form1为form2, 再运行  问题解决。

 

总结:

由此可见 Server.Execute("xx"); 会把xx页面的所有内容 插入在 调用的页面内所以在使用的时候 要注意2个页面内控件名称的重复问题(主要是form控件名  因为其他控件都在form里)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值