问题现象:
本来在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里)。