我的页面上有一个 RadDropDownTree,如下所示:
<telerik:RadDropDownTree ID="Tree1" runat="server" ButtonSettings-ShowClear="true"
OnClientEntryAdded="EntryAdded" AutoPostBack="true" DefaultMessage="--Select--"
DefaultValue="-1" OnEntryAdded="Tree1_EntryAdded">
<DropDownSettings AutoWidth="Enabled" CssClass="raddropdowntree" />
</telerik:RadDropDownTree>
EntryAdded 客户端事件用于在选择时折叠下拉列表,如下所示:
function EntryAdded(sender, eventArgs) {
sender.closeDropDown();
return true;
}
EntryAdded 服务器端事件当前为空。
我的问题是,如果我指定 OnClientEntryAdded 客户端事件,则不会触发服务器端事件 EntryAdded。回发发生在选择下拉树中的任何项目时,Page_Load 被触发,但随后控件返回到页面而不调用 EntryAdded 事件。另一个问题是,在回发之后,我选择的值被清除并恢复为默认值“--Select--”。
我也尝试将声明替换为, OnClientEntryAdded="if(!EntryAdded()) { return false; }"
但这会返回一个 JavaScript 错误,说if
是出乎意料的。
如果我删除客户端事件,则会调用 EntryAdded 服务器端事件,并且下拉树的选定值也会保留。
如果有帮助,整个事情都在 RadAjaxPanel 中。
请指教。提前致谢。