转换使用串联html的页面花费了不可忽视的时间,比如 string output = "";output +="ul";foreach(MyClass item in MyItems){ output += "li"+item.Name+" - "+item.SomeProperty.ToString()+"/li";}output+="/ul";literalPlaceHolder.Text
string output = ""; output +="<ul>"; foreach(MyClass item in MyItems) { output += "<li>"+item.Name+" - "+item.SomeProperty.ToString()+"</li>"; } output+="</ul>"; literalPlaceHolder.Text=output;
为了使用ListView控件,我刚刚发现原始开发人员返回并将页面转换回使用连接的html.我个人的感觉是列表视图和转发器可以提供更清晰,信息更丰富的标记,可以由对C#经验较少的人编辑,并且它们更快,使用更少的内存.至少页面应该使用StringBuilder而不是字符串.任何人都对此有充分的理由吗?当我提起这件事时,我有一种感觉会引起重大冲突.
首先,我认为对于其他开发人员来说,只是替换你的代码并不是很合作,没有讨论.如果你想在这个位置占上风,你肯定必须为你的位置做好准备.我同意标准的ASP.Net控件对于经验不足的开发人员来说更容易处理,如果这是您所关注的问题.
我不确定我是否同意你关于StringBuilder的信息,因为StringBuilder经常引发争议激烈的争论here和其他地方.如果您的列表不够冗长,那么StringBuilder可能没有足够的理由.
经验丰富的开发人员可能会对这种特定方法感到欣赏的一个方面是,很容易逐步查看每个项目的填充方式.使用ListView并不容易 – 您必须添加一个事件来捕获正在添加的项目,然后在其中放置一个断点.
最后,我鼓励你仔细选择你的战斗.这个特定的例子不是主要的设计问题.如果您预见未来会有其他更大的意见分歧,您可能会决定从一个较小的问题开始,以便与您的开发人员建立解决这类冲突的方法.或者,您可以认为这不是一个足够大的协议来争取,并等待一些重要的事情(我怀疑你将不得不等待很长时间).选择哪种方式取决于所涉及的个性.