因此,我试图想出一种更好的方法来创建一个动态帮助模块,该模块为网站的每个页面显示一个不同的帮助页面。目前有一个 help.aspx,它有一个标题和 div 部分,由获取数据库记录的方法填充。每个 DB 记录都存储为带有特定帮助内容的 html。现在,这是可行的,但是当您必须查找并更新 1 个或多个 DB 记录时,例如图像、更改或文本必须被编辑时,维护起来是一件非常痛苦的事情。相反,我在想,我可以构建一个基本上显示/隐藏面板的 html 页面,并且每个面板内部都有适当的帮助内容。只要您遵循正确的命名约定(将面板 ID 命名为它所代表的页面/内容),使用 ctrl + f 就会将您带到您需要去的地方,并使您更容易找到所需的内容。我什么 我很好奇这会对性能产生影响吗?html 页面将是一个相当大的文件,将在服务器上托管/运行,但它也将消除对数据库调用的需要。这项工作是否值得在这里受益,或者我是否正在重新发明轮子?
问问题
150 次
1 回答
0
动态的任何东西都应该存储在数据库中。一个真正可用的 Web 应用程序永远不需要修改代码来更改内容。隐藏内容通常不是一个好主意,想象一下,如果您将应用程序扩展到 100 个需要自己的帮助页面的不同页面。然后当有人点击帮助时,他们的浏览器必须加载 99 个隐藏页面才能获得 1 个它会显示。您需要将帮助页面分解为多个部分,并将纯文本存储在数据库中。我需要更多地了解您使用的语言以及您使用的架构来进一步阐述,但请看下面。
您描述的需求几乎就是 MVC(Web 应用程序架构类型)的构建目的。
如果您已经在使用 ASP.net 并且您的项目还不太远,我会考虑切换到 MVC。这是一个专门为动态页面内容而构建的架构。您构建不同的“视图”(MVC 中的 V),它们将根据从控制器(MVC 中的 C)接收到的内容动态构建 HTML,控制器从数据库/模型(M)中提取数据并对其进行修改风景。此外,一旦您进入 MVC,您可以将它与 Razor 结合使用,并且一半的代码会为您编写。这是一件美妙的事情。
于 2012-12-14T19:10:01.900 回答