It is up to the development logic to create the proper tile in the proper place. The RadPersistenceFramework requires that the controls whose settings (note that is stores settings, not controls) it works with has the same state and control tree upon save and load.
Also, it is very likely that there is actually a server error but MS AJAX traps it as a client-side exception, so you can look into disabling AJAX or stepping through the server code to see the real exception.
Thus, what you need to make sure is that:
- tiles are recreated just like any dynamic control. How to determine the proper group depends on your custom logic. When DragAndDrop is enabled, you must do this in Page_Init. Here is what happens to impose this need:
- tiles collections for each group travel from the server to the client. This means that the tiles have a certain order at this point in the server collections.
- the user drags tiles around, even between groups. This change is stored by the TileList so it can track which tile went where.
- the POST data is loaded between page_init and page_load by ASP, so this is when this information is loaded by the control. It goes through the information from the client, recreates the groups and places the tiles in the new server collections according to the order that comes in from the client. This is why at this point (before Page_Load) the TileList must have the same structure and tile count as it did with the previous postback (when the tiles were sent to the client), otherwise a mismatch will occur and data would not be loaded properly for the tiles.
Thus, if you disabled drag-and-drop (and you do not have data binding), you should be able to create/remove tiles in Page_load.
- Your programmatic tiles are recreated properly (and have the same count) before the state is Save()-ed or Load()-ed. This is the essence of making sure the control whose settings you load and save is the same.
If these conditions are met, the control state stored by the persistence framework should be applied properly to the tiles in the TileList.
We will also look into improving this loading of data, so that you can create tiles programmatically in Page_Load, but I cannot provide an ETA on that, because we still cannot confirm if it is even possible. I would advise that you monitor the release notes to see if such a feature is available.
Perhaps you can store the current state that you need to load in the session, or in a database, or a file, depending on your preferences.
If you can confirm these conditions are met and there are still errors, I advise that you post the code you have and explain in detail (or record a video) that shows what you do, so we can look into it.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.