我正在为客户开发一个网站,他们希望能够管理内容并添加/删除网页。
同时,网站上的某些页面将是互动的,并为登录的客户提供自定义报告。
我已经开始在ASP.NET MVC中开发该网站,因为我希望完全控制渲染。
但是,我发现很难从概念上对网站进行建模。
如果用户可以添加/删除页面,那么如何将URL直接映射到控制器?
我可以执行一个“页面”控制器并将其传递给内容ID,但这意味着所有网站中的代码将位于1个类文件中。
我可以将自定义/互动页面放在不同的控制器下,但是,客户将如何管理它们?
我真的迷失了它的可用性角度。如果我正在构建自定义交互式页面,那么客户端如何添加/删除它们呢?那不会修改应用程序本身的结构吗?
答案 0 :(得分:2)
我在理解你正在尝试解决的问题以及你的问题时遇到了一些问题:
我可以做一个'Page'控制器 并传递一个内容ID,但那 将意味着所有的代码 网站将位于1类文件下。
我可以进行自定义/互动 页面坐在不同的控制器下, 但是,客户将如何 能够管理它们吗?
“单个类文件”有什么问题?从语义角度来看你的问题是什么(也就是说,你不希望所有的URL都以/ pages开头)?或者只是代码管理?
假设您从数据库服务,我会执行以下操作:
这样就可以按照您的意愿提供对/ CMS / Page / 4384的请求。然后,您可以通过多种方式扩展它。置于默认操作中,因此/ CMS / 4384提供页面。然后添加一个存根(/ CMS / 4384 / Page-Title-Or-Whatever-Text)。在CMSController的所有位置设置其他路由,例如/ aboutus /和/ product_info /。或者只是拥有一个CMSController的附加点。
此外,控制器可以在文件系统上打开一个html文件并提供服务。
这有帮助吗?
詹姆斯