快看看怎么回事,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,是不是又刷回去了
------解决方案--------------------我不知道你到底做了个什么东西,是不是有一下拉列表,还有一按钮。点击按钮,下拉列表的值就变?
------解决方案--------------------是的,就是这样的,下拉表中的列表时,是初始化时绑定的,按钮的功能就是改变下拉列表中的值.
--
那每次改变的值都是顺移到下一位吗?
------解决方案--------------------如果每次都是顺移的话,你直接删除上一位的值,然后重新绑定不就是了?
------解决方案--------------------