C# 动态控件创建与静态控件性能?

C# 动态控件创建与静态控件性能?,c#,asp.net,C#,Asp.net,我有几页是问答,仅供参考,他们不能添加问题或答案。 答案将不会显示,直到问题被点击,并且问答的格式将以粗体、下划线等形式出现 这些问答不会有太大变化,但对于不同的客户,他们会有不同的问答 以前的开发人员使用服务器端显示和隐藏所有问答,并且在页面上是静态的 思考未来,当我为另一位客户创建一个新的问答页面时,我需要为每个问答编写适当的样式(问题下划线、加粗、打断、分配id、逐行) 我想知道将所有的Q&a放在一个文本文件中,然后使用解析器解析文本文件并动态创建所有的Q&a是否是一个好主意?因此,如果我

我有几页是问答,仅供参考,他们不能添加问题或答案。 答案将不会显示,直到问题被点击,并且问答的格式将以粗体、下划线等形式出现

这些问答不会有太大变化,但对于不同的客户,他们会有不同的问答

以前的开发人员使用服务器端显示和隐藏所有问答,并且在页面上是静态的

思考未来,当我为另一位客户创建一个新的问答页面时,我需要为每个问答编写适当的样式(问题下划线、加粗、打断、分配id、逐行)

我想知道将所有的Q&a放在一个文本文件中,然后使用解析器解析文本文件并动态创建所有的Q&a是否是一个好主意?因此,如果我需要更改每个Q&A的显示格式,我可以修改创建控件的方式。在这种情况下,在客户端创建所有控件要容易得多


但另一件事是,这个页面将被许多用户同时使用。所以我想知道动态控件的创建是否会对页面性能产生很大影响?动态生成控件是否值得?

动态生成控件听起来是个不错的主意,在性能方面不应该导致问题。从文本文件中读取问题的数据不会导致错误。这种方法有很多问题(并发性和锁定、IO性能)。您应该使用数据库技术来存储和检索数据


如果使用用户控件生成问题,则可以通过在用户控件上使用输出缓存来缓解任何可能的性能问题。通过这种方式,如果不需要的话,这些问题集可能不需要一次又一次地重新生成。

性能不是问题,直到(1)它被定义并且(2)它是可测量的


至于动态文件和静态文件。这实际上取决于您希望解决方案的简单程度或复杂程度。如果只是带格式的问答,那么html和css比动态服务器端解决方案更有意义。

动态占位符还可以方便地在回发中添加/保留控件/控件状态

如果此选项使您的生活更轻松,请查看此动态控件库


从文本文件中读取问题我想在应用程序启动中读取它,并将其缓存到静态列表中,以便所有其他用户只从同一列表中读取…您也可以从数据库中缓存。我仍然建议不要使用文件。根据负载情况,可以同时启动多个应用程序线程。让您的应用程序访问文件系统会带来安全问题,如果可能,最好避免这些问题。你正在发明数据库,让比你更聪明的人去担心那些东西,然后使用数据库提供者。嗯,我想这是真的,现在只是一个例子。我想我会修改所有的旧脚本以与ID关联,这样我就可以使用css和java脚本了。谢谢。需要身份证。一些传统的html和类命名就足以让它正常工作。