我有2个CascadingDropdownList
,应用和角色。当应用程序更改角色填充时。
当应用程序或角色更改时,我会使用用户列表部分呈现UpdatePanel
。
问题是当应用程序更改POST
中发送的角色的值以呈现UpdatePanel
时,旧的角色在强调文本选择的应用程序的角色列表中填充Role之前的值。
因此,我尝试的解决方案是在填充 Role 之后进行部分渲染。我从UpdatePanel
删除应用触发器,并使用角色 populated
中的CascadeDropDownList
事件手动启动回发。
这样,当应用程序更改时,将填充角色并且(由于该事件)UpdatePanel
已更新。当角色更改时,UpdatePanel
中的基本触发器会更新。
代码背后:
ToolkitScriptManager.RegisterStartupScript(Me, Me.GetType,"wireEvents","Sys.Application.add_load(addPopulatedEvent);", True)
HTML:
<script>
function updatePanel() { __doPostBack('<%=UpdatePanel1.ClientID %>', null); }
function addPopulatedEvent(sender, args) {if (!args.get_isPartialLoad()) { $find('<%=cmbRoles_CascadingDropDown.ClientID %>').add_populated(updatePanel); } }
</script>
又引发了另一个问题。我可以在firebug网络中看到部分呈现POST
如何在同一时间(有时甚至是之前)启动填充角色POST
。仍然可以看到旧的预先填充的&#39;部分呈现POST
中的角色值。简而言之:填充CascadingDropdownList后,CascadingDropdownList populated event
不会上升。这很奇怪,因为事件动词是过去的形式,也存在populating event
。所以一切都告诉我,在角色充满新数据后,populated event
应该会上升。但不是。
2个问题: