没有看到Telerik的持久性框架的结果

时间:2014-09-10 09:49:21

标签: c# asp.net telerik persistence

据我所知,通过跟踪Telerik的指南,我在下面的内容应该足以在我的用户控件中保持RadTreeView的状态。但事实并非如此。

在MainPage.aspx中:

<telerik:RadPersistenceManager ID="RadPersistenceManager1" runat="server">
</telerik:RadPersistenceManager>

在用户控件的.aspx中:

​<telerik:RadPersistenceManagerProxy ID="RadPersistenceManagerProxy1" runat="server">
    <PersistenceSettings>
        <telerik:PersistenceSetting ControlID="RadTreeView1" />
    </PersistenceSettings>
</telerik:RadPersistenceManagerProxy>

在用户控件的代码后面:

private RadPersistenceManager _persistenceManager;

protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            _persistenceManager = RadPersistenceManager.GetCurrent(Page);
            if (!IsPostBack)
                _persistenceManager.LoadState();
        }


protected void RadTreeView1_NodeCheck(object sender, RadTreeNodeEventArgs e)
        {           

            _persistenceManager.SaveState();
        }

(我也尝试在主页上调用LoadState()和SaveState()(非回发时的page_load和回发时的pre_render)。

但在这两种情况下,控制的状态都会持续存在。

需要做些什么才能发挥作用?

1 个答案:

答案 0 :(得分:0)

我建议您从这个演示开始并修改它以符合您的设置:http://demos.telerik.com/aspnet-ajax/treeview/examples/applicationscenarios/persisting-treeview-settings/defaultcs.aspx?product=persistenceframework

此外,如果您对树视图使用按需加载,则无法使用。在这种情况下,当您尝试保存/加载其状态时,不会加载项目。