OracleSiteMapProvider sorts based on insert order
Posted: Wed 29 Jul 2009 15:26
It appears that there is no control over the order in which sitemap nodes are displayed. It always orders (within a parentnodeid) based on the order in which the records were inserted. This isn't optimal. Every time the sitemap nodes change, I have to modify a sql script to trunc the table and reinsert the nodes in the correct order.
Please add an OrderID column (or something) that allows user control over the return result set.
Example insert sets:
vs.
Please add an OrderID column (or something) that allows user control over the return result set.
Example insert sets:
Code: Select all
truncate table aspnet_sitemap;
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (1, '/EPIC', 'Default.aspx', 'Main', 'Home Page', NULL, NULL);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (25, '/EPIC', 'Dashboards/Default.aspx', 'Dashboards', 'Summary Pages for various roles.', NULL, 1);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (50, '/EPIC', 'Wizards/Default.aspx', 'Wizards', 'Wizards Menu Top Level', NULL, 1);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (100, '/EPIC', 'Help/Default.aspx', 'Help', 'Help Main Menu', NULL, 1);
COMMIT;
Code: Select all
truncate table aspnet_sitemap;
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (1, '/EPIC', 'Default.aspx', 'Main', 'Home Page', NULL, NULL);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (25, '/EPIC', 'Dashboards/Default.aspx', 'Dashboards', 'Summary Pages for various roles.', NULL, 1);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (100, '/EPIC', 'Help/Default.aspx', 'Help', 'Help Main Menu', NULL, 1);
Insert into ASPNET_SITEMAP (NODEID, APPLICATIONNAME, URL, NAME, DESCRIPTION, ROLES, PARENTNODEID) Values (50, '/EPIC', 'Wizards/Default.aspx', 'Wizards', 'Wizards Menu Top Level', NULL, 1);
COMMIT;