读书人

.net下用ajax实现的级联下拉菜单无法

发布时间: 2013-11-27 21:59:41 作者: rapoo

.net下用ajax实现的级联下拉菜单,无法设置默认下拉选项的问题
如题:
在页面中使用ajax异步更新dropdownlist二级、三级后,点击button后希望能够在回发的页面下保留上一页面dropdownlist中的各个选项,思路是通过页面的cs文件调用前台js代码(ClientScript.RegisterClientScriptBlock),刷新各个dropdownlist二级、三级的状态(请问还有其它更好的方法吗?)保持之前选择的各项;
遇到的问题是:能够刷新dropdownlist二级、三级列表,但是不能够设置所选择的项(始终默认都是第一项“---请选择---”),使用$('DropDownListCourse').value=value方法不行,请问是什么原因,如何实现?

dropdownlist二级:
text value
AAA 0000
BBB 1111
CCC 2222

前一页面选择了BBB,value=1111,希望回发的页面也保持这个选择状态; .net ajax dropdownlist
[解决办法]
你可以js+ajax提交,不用回发而导致页面刷新

如果回发,你是否将当前选中值传递过去了?
[解决办法]
<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="True" runat="server">
<asp:ListItem>--请选择--</asp:ListItem>
</asp:DropDownList>
[解决办法]
可能是你没加if(!IsPostBack){}
[解决办法]
对于在前台被修改了的下拉框选项,到后台就会回到原来的状态,所以应该在后台把值取出后,重新绑定
[解决办法]

引用:
点击button后希望能够在回发的页面下保留上一页面dropdownlist中的各个选项

点击button是指提交数据到服务端么 ? 如果是的话,你应该可以很容易获得到相应的值

设置dropdownlist值为指定值,如果用js设置可以用ClientScript.RegisterClientScriptBlock等方式,但要注意设置的时候要确保dropdownlist中有相应的值,我猜你的情况是ajax请求还没执行,对应的dropdownlist中没数据,就先设置选中项了。
[解决办法]
保存上一页面数据的方式的选择
cookie
url
hidden
建议把选好的值放到cookie里,等页面刷新完了再重新读取cookie值,重新赋值

读书人网 >asp.net

热点推荐