所以,我正在尝试提出一种更好的方法来创建动态帮助模块,该模块为网站的每个页面显示不同的帮助页面。目前有一个help.aspx,它有一个title和div部分,由抓取数据库记录的方法填充。每个DB记录都存储在html中,并附带特定的帮助内容。现在,这是有效的,但是当一个图像,更改或文本必须被编辑时,维护是一件非常痛苦的事情,你必须找到并更新一个或多个DB记录。我正在考虑,我可以构建一个基本上显示/隐藏面板的单个html页面,每个面板内部都是相应的帮助内容。只要您遵循正确的命名约定(将面板ID命名为它所代表的页面/内容),使用ctrl + f将为您提供所需的位置,使您更容易找到所需的内容。我很好奇的是这会对性能产生影响吗? html页面将是一个相当大的文件,将在服务器上托管/运行,但它也将不再需要数据库调用。这项工作是否值得在这里获益,还是我已经重新发明轮子了?
答案 0 :(得分:0)
动态任何东西都应该存储在数据库中。一个真正可用的Web应用程序永远不需要修改代码来更改内容。隐藏内容通常不是一个好主意,想象一下,如果您将应用程序扩展到需要自己的帮助页面的100个不同页面。然后,当有人点击帮助时,他们的浏览器必须加载99个隐藏页面以获得它将显示的1。您需要将帮助页面分成几个部分,然后将纯文本存储在数据库中。我需要了解更多关于您使用的语言以及您用于进一步详细说明的架构,但请查看以下内容。
您的描述需要几乎是为MVC(Web应用程序体系结构类型)构建的。
如果您已经在使用ASP.net,并且您对项目的影响太小,我会考虑切换到MVC。它是专为动态页面内容而构建的架构。你建立了不同的观点' (MVC中的V)将根据从Controller(MVC中的C)接收的内容动态构建HTML,该内容从数据库/模型(M)中提取数据并为View修改它。一旦你进入MVC,你可以将它与Razor结合,并为你编写一半代码。这是一件很棒的事。