0

我正在使用 MVC 4 .NET 构建一个 CMS 系统

系统有以下对象:

页面类型

  • ID
  • 姓名
  • 布局 - 布局文件的 URL

页面

  • ID
  • 父母ID
  • 内容(等等……)

模块

  • ID
  • 姓名
  • 类型(模块的类型,如图片库、联系页面、常见问题解答等)

问题

目前我正在努力解决如何在每个页面中实现模块。我以实物形式构建了应用程序,每个页面都有一个内容和一个模块列表。

我的问题是页面布局必须提前知道。所以我会知道在哪里渲染视图中的每个模块。

我想到了这个解决方案:(我现在正在使用的当前解决方案)

为每个页面的类型创建一个布局页面,并将模块类型与每个页面布局相关联。

现在,当用户想要添加一个新页面时,他必须首先选择一个布局(页面类型)以及相关的模块数量。该解决方案中的问题是:

  • 我需要为每种类型的页面构建一个布局。
  • 用户只能添加与页面布局(类型)相关的模块。

第二种解决方案:

我想到的第二个解决方案是根据关联的模块动态创建布局。我想补充一点,我不知道如何实现它。

在该解决方案中,用户可以添加他喜欢的任意数量的模块。但我不知道如何用模块定义页面结构。

  • 如果用户没有创建模块怎么办?它将如何影响布局?
  • 如果模块不是一个接一个地出现,我如何创建一个结构?

基本上,有一种方法可以将模块的位置存储在页面中,并在视图中将模块呈现在该位置。

我知道它应该涉及在所需位置为每个模块渲染部分视图。

如果有办法模块对象应该是什么样子?

我的问题够清楚吗?

4

0 回答 0