我想在asp.net mvc或控制器的服务器端生成html组件。
我目前的做法:
我想在控制器函数中生成一个html表,它将返回html表代码字符串。然后我用ajax调用此控制器函数并获取返回值。完成后,我使用jquery从控制器返回值获取DIV对象和innerHTML以在DIV上显示表。如果小数据它将正常显示。但是我得到的数据是大数据,IE将被迫关闭并占用大量内存。
所以我想用服务器端处理它。
您有什么办法应对吗?
最佳答案
除非明确需要,否则不应加载完整表。如果表很大,您将遇到网络延迟问题,并且可能出现内存不足错误。
因此,您应该做的是限制您拿走并返回给客户的东西。您可以将当前位置存储为Cookie,隐藏的输入字段中或会话中。您一次要加载的数量通常作为请求的一部分传递。可能作为查询参数。您可以通过服务器端验证来限制它,如果用户一次请求太多,则返回允许的最大值。
如果使用linq检索数据,则可以使用Skip
和Take
方法限制从当前位置检索和检索的内容。
希望能有所帮助。