Model view controller 如何使用Umbraco 5构建数据库驱动的网页

Model view controller 如何使用Umbraco 5构建数据库驱动的网页,model-view-controller,macros,umbraco,Model View Controller,Macros,Umbraco,我正在尝试使用一个数据库将内容传送到一个umbraco站点。在本例中,有一个包含实时事件的db表 我想建立的是这样的结构: /事件-(列出数据库中的所有活动事件) /事件/详细信息/1-(id为1的事件的详细信息) 正如您所看到的,这种结构是一种典型的MVC方式 我提出的第一个解决方案涉及到以下几点: 使用Index方法和Details方法创建SurfaceController 定义两个子动作宏以从1调用函数 创建两个umbraco页面(/Events和一个details子页面)和 将宏插入到页

我正在尝试使用一个数据库将内容传送到一个umbraco站点。在本例中,有一个包含实时事件的db表

我想建立的是这样的结构:

  • /事件-(列出数据库中的所有活动事件)

  • /事件/详细信息/1-(id为1的事件的详细信息)

  • 正如您所看到的,这种结构是一种典型的MVC方式

    我提出的第一个解决方案涉及到以下几点:

  • 使用Index方法和Details方法创建SurfaceController
  • 定义两个子动作宏以从1调用函数
  • 创建两个umbraco页面(/Events和一个details子页面)和 将宏插入到页面上
  • 在这里您可以看到函数定义:

    [ChildActionOnly]
    public PartialViewResult Index()
    [ChildActionOnly]
    public PartialViewResult Details(string guid)
    
    索引页工作正常,但details宏从未使用参数调用。显然,Umbraco不够聪明,无法将参数路由到页面内的宏

    因此,我的问题是:

    这是将基于数据库的内容构建到umbraco前端的正确方法吗

    如果不是,那么在翁布拉科5中首选的方式是什么

    此场景是否存在任何示例代码

    如果您需要更多信息,请随时询问

    提前谢谢
    Michael Wulff

    您的详细信息是否需要使用宏进行渲染?Umbraco为您路由SurfaceController,因此您可以使用:

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

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