Question

I have a Dynamic Data site in a folder called admin. This folder is in the root of the website and referenced in the reserved paths section of the web.config file.

After upgrading from Umbraco 4.7.2 to 6.0.5 I've noticed that the links in the Dynamic Data site that normally take me to my tables are now trying to hit the /umbraco/rendermvc/List controller and action. I'm assuming that somehow my routes have been changed, but being so new to MVC I have no idea how to restore these.

If it is any help, this is the section of my startup code that used to register the contexts correctly. Any help on how to restore these routes without breaking the routing of the new Umbraco version would be very appreciated!

public static void RegisterContext(RouteCollection routes, string dbName, Type contextType, string ddFolder)
{
        var model = new MetaModel
                        {
                            DynamicDataFolderVirtualPath = ddFolder,
                            FieldTemplateFactory =
                                new FieldTemplateFactory()
                                    {TemplateFolderVirtualPath = "~/admin/DynamicData/FieldTemplates",}
                        };
        model.RegisterContext(contextType, new ContextConfiguration() {ScaffoldAllTables = true});
        routes.Add(new DynamicDataRoute("admin/{dbname}/{table}/{action}.aspx")
                        {
                            Constraints = new RouteValueDictionary(new
                                                                        {
                                                                            action = "List|Details|Edit|Insert",
                                                                            dbname = dbName
                                                                        }),
                            Model = model
                        });
        Models[dbName] = model;
}
Was it helpful?

Solution

I think you have to put your custom stuff in an override on the OnApplicationStarted event in a custom global.asax which inherits from Umbraco.Web.UmbracoApplication (I haven't tried it yet), see this blog (about half way down the page) and our.umbraco.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top