Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于表、动态控件、C#和asp.net的评论_C#_Asp.net_Performance_Dynamic - Fatal编程技术网

关于表、动态控件、C#和asp.net的评论

关于表、动态控件、C#和asp.net的评论,c#,asp.net,performance,dynamic,C#,Asp.net,Performance,Dynamic,设想有一个表和一个按钮向表中添加新行。每次单击按钮时,将在表的末尾插入一个新行。按钮事件的功能如下: 首先,它指出要复制的引用行 无论该引用行中的控件和文本是什么,它们都会复制到数据表中。因为datatable不能保存控件,所以我将它们转换为字符串并像那样保存它们 最后,数据表存储在缓存中 最后,在每个page_init事件上,我使用datatable中的数据重新创建表。一切正常 然而,我很好奇。由于页面中有3到5个表,所有表都存储在不同的缓存中,具有不同的datatable,并且所有表都是

设想有一个表和一个按钮向表中添加新行。每次单击按钮时,将在表的末尾插入一个新行。按钮事件的功能如下:

  • 首先,它指出要复制的引用行
  • 无论该引用行中的控件和文本是什么,它们都会复制到数据表中。因为datatable不能保存控件,所以我将它们转换为字符串并像那样保存它们
  • 最后,数据表存储在缓存中

  • 最后,在每个page_init事件上,我使用datatable中的数据重新创建表。一切正常

然而,我很好奇。由于页面中有3到5个表,所有表都存储在不同的缓存中,具有不同的datatable,并且所有表都是在页面周期事件期间重新创建的,因此将来可能会导致任何问题吗?顺便说一下,请注意,一旦用户离开页面,缓存将被删除

我不想把整个代码都贴在这里,因为它有点长,可能会使人们疏远阅读这个问题。但我可以提供一些统计数字,以便你能对此发表一些评论

我写的这堂课有118行。 在重新创建表的过程中,有3个嵌套的for/foreach循环,但它们并不长(每个循环的平均时间可能为5到10)。 最后,如上所述,要重新创建表,需要使用保存在缓存中的datatable


因此,我再次提出一个问题:代码工作得非常完美,但我想知道构建这样的代码是否对性能友好

这完全取决于表中的数据量(行/列数)

如果它很小,比如说列出10个用户及其登录名和密码,那么它就可以正常工作,不会出现性能问题

但是,如果这将是成千上万条记录,那么可能会出现性能问题

编辑:编写一个脚本,将数据库填充到“最坏情况”的预期数据量,然后查看它的执行情况