Как создавать управляемые базой данных веб-страницы с Umbraco 5 - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь использовать базу данных для доставки контента на сайт umbraco. В этом примере есть таблица БД, содержащая Live-события.

Что я хотел бы построить, это структура:

  1. / События - (Список всех активных событий из базы данных)

  2. / События / Подробности / 1 - (подробности события с идентификатором 1)

Как вы можете видеть, структура - это классический MVC способ сделать это.

Первое решение, которое я предложил, заключалось в следующем:

  1. Создание SurfaceController с методом Index и методом Details
  2. Определите два дочерних макроса действий для вызова функций из 1.
  3. Создайте две страницы umbraco (/ События и дочернюю страницу подробностей) и вставил макросы на страницы.

Здесь вы можете увидеть определения функций:

[ChildActionOnly]
public PartialViewResult Index()
[ChildActionOnly]
public PartialViewResult Details(string guid)

Страница индекса работает нормально, но макрос деталей никогда не вызывается с параметром. Очевидно, Umbraco недостаточно умен, чтобы направлять параметры к макросам внутри страниц.

Итак, мои вопросы:

Является ли это правильным способом встраивания контента, основанного на базе данных, в интерфейс umbraco?

Если нет, то каков предпочтительный способ в Umbraco 5?

Существует ли пример кода для этого сценария?

Если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать.

Заранее спасибо Майкл Вульф

1 Ответ

0 голосов
/ 16 марта 2012

Нужно ли визуализировать ваш Detailspage с помощью макроса?Поверхностные контроллеры маршрутизируются для вас Umbraco, поэтому вы можете использовать:

@Html.Action("Detail", "MySurfaceController", new {guid="myvalue"})

или

@Html.RenderAction("Detail", "MySurfaceController", new {guid="myvalue"})
...