Это задача для создания двунаправленной перезаписи URL на платформе .NET. URL управляются там, где должен быть результат.
www.somewhere.com/Region/Program/Cat1/Cat2/Cat3/Catn/
для списков и
www.somewhere.com/Region/Program/document-title-seperated-with-dashes-and-ending-in-a-real-44500012 document id.
Для региона это вызов базы данных.
Для Программы это перевод в базу данных.
Для Cat1 - Catn это вызов базы данных.
Текущий URL выглядит как
www.somewhere.com/programname/?statictext®ion=Number&cat=Number