Динамические / редактируемые маршруты MVC, хранящиеся в базе данных для движка блога - PullRequest
3 голосов
/ 16 декабря 2010

Я планирую написать блог-движок MVC, поддерживающий несколько блогов.При создании блога пользователь сможет выбрать путь к своему блогу.

Например:

/ blogs / firstBlog /

/ newprojects / secondBlog /

/foo / bar / thirdblog /

Эта информация о маршруте будет сохранена в базе данных.Вместо того, чтобы MVC использовал только маршруты, статически объявленные в Global.asax.cs, я хотел бы сначала прочитать маршруты из базы данных.Затем, если он ничего не найдет, откройте маршруты, объявленные в Global.asax.cs.Это возможно?Если да, что бы вы предложили для этого?

Спасибо

1 Ответ

1 голос
/ 16 декабря 2010

Я бы объявил ваш маршрут по умолчанию как нормальный, а затем прочитал бы базу данных и вызвал бы те же методы, но вместо передачи жестко закодированных строк передал бы значения из базы данных:

foreach(RouteDetails routeDetails in routesFromDatabase)
{
    routes.MapRoute(
        routeDetails.Name,                                             
        routeDetails.Route,
        routeDetails.Defaults);
}

Вам необходимо правильно отобразить таблицы и заполнить поля в воображаемом объекте 'RouteDetails', включая словарь Defaults (который, вероятно, будет самым сложным).

Вы можете найти несколько примеровздесь:

...