Asp.net Ajaxcontrol Toolkit CascadingDropdownList填充事件故障
我有2个CascadingDropdownList,应用程序和角色。应用程序更改时,将填充角色。 当应用程序或角色更改时,我使用用户列表部分呈现Asp.net Ajaxcontrol Toolkit CascadingDropdownList填充事件故障,asp.net,.net-3.5,asp.net-ajax,ajaxcontroltoolkit,Asp.net,.net 3.5,Asp.net Ajax,Ajaxcontroltoolkit,我有2个CascadingDropdownList,应用程序和角色。应用程序更改时,将填充角色。 当应用程序或角色更改时,我使用用户列表部分呈现UpdatePanel 问题是,当应用程序更改POST中发送的角色值以呈现UpdatePanel时,该角色值是填充角色之前的旧角色值,即新选定应用程序的角色列表 所以,我尝试的解决方案是在填充角色后进行部分渲染。我从UpdatePanel中删除应用程序触发器,并使用角色CascadeDropDownList中的populated事件手动启动回发 这样,当
UpdatePanel
问题是,当应用程序更改POST
中发送的角色值以呈现UpdatePanel
时,该角色值是填充角色之前的旧角色值,即新选定应用程序的角色列表
所以,我尝试的解决方案是在填充角色后进行部分渲染。我从UpdatePanel
中删除应用程序触发器,并使用角色CascadeDropDownList
中的populated
事件手动启动回发
这样,当应用程序发生更改时,角色将被填充,并且(由于该事件)UpdatePanel
将被更新。当角色更改时,UpdatePanel
中的基本触发器将进行更新
代码隐藏:
ToolkitScriptManager.RegisterStartupScript(Me, Me.GetType,"wireEvents","Sys.Application.add_load(addPopulatedEvent);", True)
HTML:
函数updatePanel()
函数addPopulatedEvent(sender,args){if(!args.get_isPartialLoad()){$find(“”).add_populated(updatePanel);}
另一个问题出现了。我可以在firebug网络中看到部分渲染POST
是如何在填充角色POST
的同时启动的,有时甚至在之前。并且仍然可以在部分呈现POST
中看到角色的旧“预填充”值。简而言之:CascadingDropdownList填充事件
在填充CascadingDropdownList后不会上升。这很奇怪,因为事件动词是过去式的,而且还存在一个填充事件的。所以一切都告诉我,在角色被新数据填充后,填充的事件
应该上升。但不是
2个问题:
我在CascadingDropDownList事件上做错了什么吗
如果我的解决方案永远行不通,你能给我指出另一个可行的解决方案吗
这真是一只虫子。在v15.1.3版本中修复。这是问题报告
<script>
function updatePanel() { __doPostBack('<%=UpdatePanel1.ClientID %>', null); }
function addPopulatedEvent(sender, args) {if (!args.get_isPartialLoad()) { $find('<%=cmbRoles_CascadingDropDown.ClientID %>').add_populated(updatePanel); } }
</script>