首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

快看看咋回事,dropdownlist,弄了两天也没弄好

2012-01-13 
快看看怎么回事,dropdownlist,弄了两天也没弄好Repeater中有多个dropdownlist,在初始化时,绑定数据,并付初

快看看怎么回事,dropdownlist,弄了两天也没弄好
Repeater中有多个dropdownlist,在初始化时,绑定数据,并付初始值都可以.但在页面中有一个按钮,可以改变dropdownlist中的选项,可在页面中就是改变不了他的选项.程序跟踪时,dropdownlist的selectedindex已经改变了,但页面中就是不变!真的不知道为什么了!


//这是按钮的事件代码
protected   void   SetIniValue(object   source,   EventArgs   e)
                {
      //这是上一层的repeater的item
                        RepeaterItem   repeaterItemCurrent   =   (RepeaterItem)(Session[ "repeaterItemCurrent "]);

                        Repeater   rptResultList1   =   null;
                        //这是这一层的repeater
                        rptResultList1   =   (Repeater)repeaterItemCurrent.FindControl( "rptResultList1 ");
                        foreach   (RepeaterItem   rti   in   rptResultList1.Items)
                        {
                                DropDownList   myddl_ddlHEYA_JYOTAI   =   (DropDownList)rti.FindControl( "ddlHEYA_JYOTAI ");
                                HtmlInputHidden   myhddn   =   new   HtmlInputHidden();
                                myhddn   =   (HtmlInputHidden)rti.FindControl( "hdnHEYA_JYOTAI_O ");
         //改变他的选择项,调试时SelectedIndex   已经变化了.但页面上不变
                                myddl_ddlHEYA_JYOTAI.SelectedIndex   =   myddl_ddlHEYA_JYOTAI.Items.IndexOf(myddl_ddlHEYA_JYOTAI.Items.FindByValue(myhddn.Value));

                             
                        }
                }


[解决办法]
在页面回传时,是否重新初始化了,看看页面的onload事件,有没有处理IsPostback
[解决办法]
Repeater要重新绑定才能显示
或者在Repeater的DataBound事件里写
[解决办法]
把AutoPostBack设成false
[解决办法]
DropDownList1.Items[ "aa "].Selected = true;
这样试一下
[解决办法]
你是说在页面上有个Button,是不是又刷回去了
[解决办法]
我不知道你到底做了个什么东西,是不是有一下拉列表,还有一按钮。点击按钮,下拉列表的值就变?
[解决办法]
是的,就是这样的,下拉表中的列表时,是初始化时绑定的,按钮的功能就是改变下拉列表中的值.
--
那每次改变的值都是顺移到下一位吗?
[解决办法]
如果每次都是顺移的话,你直接删除上一位的值,然后重新绑定不就是了?
------解决方案--------------------


。。
那你就用JS移除所有项,只保留1003
[解决办法]
我在本地测试时候好使。

问题可能出在page_load里面。你是否每次刷新页面都调用了绑定dropdownlist的方法了????
[解决办法]
还有就是IsPostBack
[解决办法]
用JS控制,把你设置的值的下标改成0
[解决办法]
呵呵,快做咯
[解决办法]
DropDownList1.Items[ "1003 "].Selected = true;
[解决办法]
DropDownList1.Items[ "1003 "].Selected = true;
这样做就行了
[解决办法]
你用的是不是.net2005如果是就这样做
DropDownList1.Items[ "1003 "].Selected = true;

[解决办法]
LZ不就是这么做的么?
[解决办法]
在.net2005里设置 DropDownList的SelectedIndex 是不行的
这样试一下没有问题的
DropDownList1.Items[ "1003 "].Selected = true;

热点排行