我在后台代码中使用StringBuilder创建了一个巨大的html表,基于用户选择的各种搜索标准。逻辑是复杂的,因为我必须创建副标题,嵌套表等,它真的很难维护或修改。有没有更好的方法来处理这类问题?
谢谢!!
发布于 2011-06-18 00:50:06
几年前,我也处于同样的境地。问题包括动态列、副标题、单元格等等。一个典型的表格大约有1000行和50列(即50,000个单元格!)。最初的实现使用了GridView,但执行起来很糟糕。我重写了视图,以便通过Literal控件使用Repeater,这是一种非常轻量级的循环控件。这有点疯狂,而不是100%的StringBuilder。我将其与一些静态方法结合起来,这些静态方法返回标准html位的字符串表示(有点像ASP.NET MVC的"html helpers"),同时保持对象模型的完全隔离。这一切都非常快(我忘记了,但我认为Repeater和Literal控件的呈现方式是直接呈现到响应流的,因此性能可以与StringBuilder相媲美,甚至更好)。
即使是上面的方法也会很复杂,而且类似于你自己的方法。但保持理智的关键是保持不同部分的分离(对象模型、html生成和动态绑定)。这几乎就像构建您自己的ad-hoc框架。但是对于像这样严肃的工作,当你被限制在web浏览器上时,你需要了解细节。
发布于 2011-06-18 00:34:13
发布于 2011-06-18 00:32:07
总是有内置的本机ASP.NET表格控件
https://stackoverflow.com/questions/6388807
复制相似问题