我这样做是否正确?
我有两个下拉菜单。第一个是在表单加载时填充的,它是包含第二个下拉列表的updatepanel的触发器。
当我更改第一个下拉框中的值时,它会触发第二个更新面板,它会填充它。
然而,当我在第二个下拉框中选择一个值时,它会触发自身并重新填充......所以如果我在下拉列表中选择第二个或第三个项目,它会重新填充并再次选择第一个项目。
我做错了什么,或者这是正常的吗?我应该将第一个下拉列表放入更新面板并让它自己触发,并在其自己的触发器中填充第二个列表框吗?
答案 0 :(得分:0)
请改用ASP.NET Ajax控件工具包CascadingDropDown。
编辑:您需要通过调用UpdatePanel2.Update()来更新UpdatePanel时设置UpdateMode =条件和控制。
答案 1 :(得分:0)
似乎更改第二个下拉列表中的值会导致回发,然后将值设置为默认值或第一个值。尝试将下拉列表的AutoPostBack属性设置为false,将EnableViewState设置为true。
答案 2 :(得分:0)
我曾经遇到过这个问题。 这是更新面板加下拉自动回原点的问题 默认情况下,存储ViewState for page,因此您无需更改ViewState进行控制。
首先,将UpdatePanel的UpdateMode属性更改为条件UpdateMode="Conditional"
。这可确保您可以控制回发,因为当您将 AutoPostBack 设置为true时,您的下拉列表始终会回发。
第二个是您的方法,在数据绑定完成后将数据源绑定到下拉列表。通过
调用UpdatePanelupdPanel.Update();
的更新方法更新您的面板
dropdown.DataSource = source;//I presume
dropdown.DataBind();
updPanel.Update();
希望这有帮助。