极度郁闷的一个问题,和数据绑定有点关系 崩溃了,EnableViewState我一直就是True的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 程序里有两个DROPDOWNLIST,第一个是area_list,它的AUTOPOSTBACK=TRUE,第二是数据绑定的DROPDOWNLIST,ID为brbank_list,当AREA_LIST的SELECTINDEX变化后,他自动回发数据库后brank_list数据绑定,可这时候brank_list的selectindex始终为0了。我把area_list的AUTOPOSTBACK设为false后,在一开始page_load时就把brank_list绑定就不会出现这种错误。brank_list的EnableViewState也是TRUE的,不知道是什么道理,大家再帮我看看 你的brank_list的绑定是在page_load里面进行的,而且area_list的AUTOPOSTBACK=TRUE,这样就会有个问题,每次area_list选定,即area_list的SelectedIndex改变时,都会回发服务器,这样就会运行page_load。你应该明白了吧。如果你想根据area_list的选定项来对brank_list进行绑定,那最好是写个brank_list的DataBinding()事件,并且在area_list_SelectedIndexChanged()里添一句brank_list.DataBind(); 哦,还有点不明白,我这样写brank_list的数据是可以绑定到的,就是brank_list的SelectedIndex怎么也不会变,有点想不通 你每次回发都重新绑定一次数据?======================================================AspNetPager免费分页控件:http://www.webdiyer.com 我想程序运行的步骤可能是这样的吧:页面第一次运行,先是 1:Page_Load() 对area_list进行数据绑定,然后是你在area_list里作了选择,由于area_list的AUTOPOSTBACK=TRUE,所以回发服务器,页面刷新,运行 2: Page_Load() ,在这期间,根据area_list.SelectedIndex所对应的在数据库的内容,设定了brank_list的数据源,之后才触发 3:area_list.SelectedIndexChanged()。然后你选择了brank_list的选项,这时brank_list的SelectedIndex已经改变了,但是当你提交你的页面,也就是你企图在后台服务器端获得brank_list.SelectedIndex时(我假设你用了一个提交按钮Button_Commit),当你点击了那个Button_Commit后,网页提交,运行4: Page_Load(),这个时候,很不幸地再次设置了brank_list的数据源,这必然使brank_list的SelectedIndex不想预期一样了。而你在 5: Button_Commit_OnClick()里获得的brank_list.SelectedIndex就始终为0了。关键的地方就在于每一次页面提交到服务器都会触发Page_Load()事件。1: Page_Load()2: Page_Load()3:area_list.SelectedIndexChanged()4: Page_Load()5: Button_Commit_OnClick()其实我也是猜的而已,你还是把代码全贴上来吧。 asp CommandArgument='<%# Eval("UserID") %>' UserID为单引号时报错 如何将一个类添加到现在的网站中 分页出问题拉。请看代码!(c#) 如何打印模态窗体 怎么在一定的条件下读取一条记录 两个时间相减后小于等于零怎么写? 注册信息不能录入到数据库中 如何防止用户点击ie的后退按钮?最好是能够禁用后退按钮? 求救:有没有什么方法把datagrid的其中一列中的某几行合并成一行 DataGrid中的dropDownList的问题!! 打印列表的问题 特急!特急!加特急!
我把area_list的AUTOPOSTBACK设为false后,在一开始page_load时就把brank_list绑定就不会出现这种错误。brank_list的EnableViewState也是TRUE的,不知道是什么道理,大家再帮我看看
你应该明白了吧。如果你想根据area_list的选定项来对brank_list进行绑定,那最好是写个brank_list的DataBinding()事件,并且在area_list_SelectedIndexChanged()里添一句brank_list.DataBind();
AspNetPager免费分页控件:http://www.webdiyer.com
页面第一次运行,先是 1:Page_Load() 对area_list进行数据绑定,
然后是你在area_list里作了选择,由于area_list的AUTOPOSTBACK=TRUE,所以回发服务器,
页面刷新,运行 2: Page_Load() ,在这期间,根据area_list.SelectedIndex所对应的在数据库的内容,设定了brank_list的数据源,之后才触发 3:area_list.SelectedIndexChanged()。然后你选择了brank_list的选项,这时brank_list的SelectedIndex已经改变了,但是当你提交你的页面,也就是你企图在后台服务器端获得brank_list.SelectedIndex时(我假设你用了一个提交按钮Button_Commit),当你点击了那个Button_Commit后,网页提交,运行4: Page_Load(),这个时候,很不幸地再次设置了brank_list的数据源,这必然使brank_list的SelectedIndex不想预期一样了。而你在 5: Button_Commit_OnClick()里获得的brank_list.SelectedIndex就始终为0了。关键的地方就在于每一次页面提交到服务器都会触发Page_Load()事件。1: Page_Load()
2: Page_Load()
3:area_list.SelectedIndexChanged()
4: Page_Load()
5: Button_Commit_OnClick()其实我也是猜的而已,你还是把代码全贴上来吧。